私はGoogle's OpenIDConnect authenticationを使用しており、Googleから返されたJWT id_token
を検証したいと考えています。ただし、IDトークンでiss
(発行者)のクレームについてGoogleが返す値については、ドキュメントに一貫性がないようです。Google OpenIDConnect id_tokenの一貫した「iss」値を取得できますか?
One pageは、「ISS:常にaccounts.google.comを」と言いますが、another pageは、「IDトークンでISSの値がaccounts.google.com
かhttps://accounts.google.com
に等しい」とサンプルコード内のコメントは、さらに説明言う:
私はAndroidアプリケーションではなくサーバー側アプリケーションを使用しているため、Playサービスは使用していません。
実装者は、必要を省くGoogleの展開のOpenIDを接続し、実装上の問題のIDトークン、この記事の執筆時点のように、それを意識する必要があります。
海域さらに泥だらけに、the OpenIDConnect specification itselfはそのノートが含まれていますhttps:// iss(発行者)クレーム値からのスキーム接頭辞。したがって、Googleと連携したいと望んでいる依拠当事者の実装は、その実装が更新されるまで、これを回避するコードを持つ必要があります。そのような回避コードは、Googleが発行者の値に欠落しているプレフィックスを追加するような方法で書き込まれないように記述する必要があります。
その文書はそれ以来の時間では11月8日、2014日付けされ、Googleがiss
値を標準化している、または私は実際にそれらの両方をチェックする必要がありますか?上記のコメントは、Playサービス> = 8.3のみがiss
とhttps://
となることを示しています。それ以外の場合は値がaccounts.google.com
になります。本当?
このページでは、現時点では「IDトークンのissの値は、accounts.google.comまたはhttps:// accounts.google.com」と同じです。 –
が合意した。もしあなたがその道を行くとすれば、おそらく両方の可能性をチェックしなければならないだろう。 –
おかげさまで、私の質問には答えられません。なぜなら、あなたはGoogleのid_tokenを検証する方法を一般的に話しているからです。私は特に 'iss'フィールドについて質問しています。 「いいえ、一貫した価値を得る方法がないので、両方の可能性をチェックするだけです」 – bjmc