有没有办法请求特定的 JWT 声明显示在 Google Cloud Endpoints oauth 场景中的“X-Endpoint-API-UserInfo”标头中?
作为背景,我已成功让 Google Cloud Endpoints 从 Azure Oauth 验证我的 JWT 令牌,但是 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": "frank@contoso.com",
"unique_name": "frank@contoso.com",
"sub": "JWvYdCWPhhlpS1Zsf7yYUxShUwtUm5yzPmw_-jX3fHY",
"family_name": "Miller",
"given_name": "Frank"
}.
但是,Google Cloud Endpoints 仅返回此处指定的 3 个字段(颁发者、ID 和电子邮件):https ://cloud.google.com/endpoints/docs/openapi/authenticating-users 。
正如您所看到的,字段中存在未对齐,并且可能某些字段在端点中访问是有价值的。