0

Google Cloud Endpoints oauthシナリオの「X-Endpoint-API-UserInfo」ヘッダーに特定のJWTクレームを表示する方法はありますか?Google Endpoints JWT Limited JWTクレームパススルー

バックグラウンドとして、私はAzure OauthのJWTトークンをGoogle Cloud Endpointsで検証しても問題はありませんが、Google Cloud Endpointsによってヘッダーに渡されるデータは限られており、元のクレームの情報は十分には含まれていません。

Azureが提供するクレームは、https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-codeで見つけることができます。

{ "aud": "2d4d11a2-f814-46a7-890a-274a72a7309e", "iss": "https://sts.windows.net/7fe81447-da57-4385-becb-6de57f21477e/", "iat": 1388440863, "nbf": 1388440863, "exp": 1388444763, "ver": "1.0", "tid": "7fe81447-da57-4385-becb-6de57f21477e", "oid": "68389ae2-62fa-4b18-91fe-53dd109d74f5", "upn": "[email protected]", "unique_name": "[email protected]", "sub": "JWvYdCWPhhlpS1Zsf7yYUxShUwtUm5yzPmw_-jX3fHY", "family_name": "Miller", "given_name": "Frank" }.

例えば

、ここで指定されているようしかし、Googleクラウドエンドポイントはわずか3つの分野(発行者、ID、および電子メールを)返します:https://cloud.google.com/endpoints/docs/openapi/authenticating-users

ご覧のとおり、フィールドには不整合があり、エンドポイントでアクセスする価値のあるフィールドがあります。

答えて

0

現時点では、X-Endpoint-API-UserInfoには、文書化されたもの(発行者、ID、電子メール)よりもクレームに関する追加情報は含まれていませんが、元のJWTトークン自体はパススルーされているため、クレームはそこに形成される。

+0

元のJWTトークンにアクセスするにはどうすればよいですか? –

+0

申し訳ありません。私の質問は無視してください。私はそれを自分で得た。 JWTのペイロードは、base64でエンコードされた文字列であり、簡単にデコードできます。 –