oauth2-proxy userInfo API returns 数据太少。如何获取更细粒度的用户数据?
oauth2-proxy userInfo API returns too little data. how to get more granual user data?
我已经集成了oauth2-proxy with AWS Cognito leveraging Istio as described in jetstack's篇,在K8S中都是运行
现在我正在寻找一种方法来获取用户数据和其他 attributes,例如 gender
、phone_number
,甚至在我的前端应用程序中获取 cognito:groups
值.所有这些信息都存在于 JWT 负载中,但不存在于前端。
想法:
- API 调用 oauth2-proxy's
/auth2/userinfo
endpoint that returns users' 电子邮件。不多吧?
- 我发现 Cognito 的 oauth2/userInfo 应该 return 更多,但我不喜欢用
aws-sdk
锁定我的前端或有任何在 FE 端处理 JWT。
- 构建后端服务,return利用 outputPayloadToHeader Istio's RequestAuthentication feature, like whoami 在自定义 header 中输出 JWT 的负载。但是等等,还有一个微服务?
None 这些对我来说似乎是正确的。
我应该采用更好的方法吗?例如,将 oauth2-proxy 的 /auth2/userinfo
端点扩展到 return 而不仅仅是 email
如有任何帮助,我将不胜感激
谢谢!
看起来您正在使用 Backend for Frontend
方法,OAuth 代理执行 BFF 角色。前端应该能够从 ID 令牌中请求用户信息或信息,如 this Curity example.
但是,似乎 long outstanding issue 您需要解决此实施问题。
感觉最干净的解决方法应该在现有 API 端点(例如 GET /userclaims
)中完成。 API 接收访问令牌,因此可以将它们发送到 Cognito 用户信息端点,然后 return 将结果发送给客户端。这避免了在客户端或 AWS 库中使用 JWT 的需要。
这是 return 编辑到 UI 的用户信息中的一些 API code of mine that calls Cognito's userinfo endpoint. This can also be a mechanism for including domain specific claims。
我已经集成了oauth2-proxy with AWS Cognito leveraging Istio as described in jetstack's篇,在K8S中都是运行
现在我正在寻找一种方法来获取用户数据和其他 attributes,例如 gender
、phone_number
,甚至在我的前端应用程序中获取 cognito:groups
值.所有这些信息都存在于 JWT 负载中,但不存在于前端。
想法:
- API 调用 oauth2-proxy's
/auth2/userinfo
endpoint that returns users' 电子邮件。不多吧? - 我发现 Cognito 的 oauth2/userInfo 应该 return 更多,但我不喜欢用
aws-sdk
锁定我的前端或有任何在 FE 端处理 JWT。 - 构建后端服务,return利用 outputPayloadToHeader Istio's RequestAuthentication feature, like whoami 在自定义 header 中输出 JWT 的负载。但是等等,还有一个微服务?
None 这些对我来说似乎是正确的。
我应该采用更好的方法吗?例如,将 oauth2-proxy 的 /auth2/userinfo
端点扩展到 return 而不仅仅是 email
如有任何帮助,我将不胜感激
谢谢!
看起来您正在使用 Backend for Frontend
方法,OAuth 代理执行 BFF 角色。前端应该能够从 ID 令牌中请求用户信息或信息,如 this Curity example.
但是,似乎 long outstanding issue 您需要解决此实施问题。
感觉最干净的解决方法应该在现有 API 端点(例如 GET /userclaims
)中完成。 API 接收访问令牌,因此可以将它们发送到 Cognito 用户信息端点,然后 return 将结果发送给客户端。这避免了在客户端或 AWS 库中使用 JWT 的需要。
这是 return 编辑到 UI 的用户信息中的一些 API code of mine that calls Cognito's userinfo endpoint. This can also be a mechanism for including domain specific claims。