1

GoogleでログインするWebサイトを開発しています。ユーザーがサインインしたら、Google js API から ID トークンを取得し、サーバーに送信して検証します。

Googleトークン情報エンドポイントを使用してプロセスを簡単に確認および実行できますが、ユーザーがGoogleでログインするたびにGoogleにHTTPSリクエストを送信するため、多くのHTTPSリクエストが発生します.

そのため、サーバーでローカルに JWT (id トークン) を検証しています。問題なく JWT の認証に成功しました。私が直面している問題は、Google の公開JWKをプログラム内にキャッシュする必要があることです。

対応する JWT "kid" の正しい JWK が見つからないたびに、JWK を更新することを考えています。ただし、これにより、対応する「子供」を持つJWKが見つからないたびに、GoogleにHTTPSリクエストが送信されます。

これは脆弱性になりますか? Google パブリック JWK を更新する静的な期間はありますか?

誰かがこれで私を助けることができますか? 何か間違ったことをしている場合は、正しい方向に向けてください

ありがとう

4

1 に答える 1

1

TLS で保護されたエンドポイントでキーを公開するポイントは、キーを高速にローテーションできることです。Googleはそれを行います。kid以前にキャッシュされていなかったトークンが入ってくるたびに、新しいキーをフェッチする必要があります。Google が JWK エンドポイントで提示する TLS サーバー証明書を確認していれば、脆弱性はありません。おそらくGoogleが使用する静的なローテーション間隔がありますが、それを使用しようとすると(「ジャストインタイム」とは対照的に)ダウンロード数が増えるだけであり、Googleは間隔を自由に変更する可能性があります.

于 2016-06-30T16:59:01.520 に答える