0

有没有办法请求特定的 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 。

正如您所看到的,字段中存在未对齐,并且可能某些字段在端点中访问是有价值的。

4

1 回答 1

0

目前,X-Endpoint-API-UserInfo除了记录在案的信息(即发行人、ID 和电子邮件)之外,不会包含来自声明的任何附加信息,但是,原始 JWT 令牌本身是传递的,因此您仍然可以在那里提取附加声明表单。

于 2017-11-10T07:36:12.820 回答