【发布时间】:2021-02-18 13:26:55
【问题描述】:
我的用户通过外部 SAML 提供程序进行身份验证,之后我在我的服务器上调用 GetOpenIdTokenForDeveloperIdentity 以返回用户的联合 IdentityId 和 OpenID JWT。
OpenID JWT 中的 sub 是用户的联合 IdentityId,我想在以后调用我的 API 时使用该令牌,我可以在其中取消签名和验证该令牌,以此来识别用户。
但是,我无法验证 JWT 的签名,因为没有 UserPoolId,它通常用于检索在此 url 中找到的公共 JWKS:
https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/jwks.json
-
如何验证这些 OpenID 令牌?
-
在 API 调用中将它们用作 ID 令牌是否合适?
-
如果不是:可以在客户端(Amplify)上交换 OpenID 令牌以获得 STS 凭据。这些凭据能否用于生成其他更合适的 ID JWT?
感谢任何帮助或指导。
【问题讨论】:
-
您找到解决方案了吗?我也想不通
标签: amazon-web-services amazon-cognito aws-amplify