如何对 AWS Cognito (Hosted UI) 的 redirect_uri 进行身份验证?

How can I make the redirect_uri of AWS Cognito (Hosted UI) authenticated?

我正在使用 Amazon Congito 的托管 UI。我设置的重定向 uri 是:

https://example.com/redirect_endpoint

但是,该端点已通过身份验证。因此,我希望托管 UI 将 id_token 作为其 Authorization header

的一部分发送到该重定向 URI

有没有办法告诉 AWS Cognito 的托管 UI 将 id_token 作为其 Authorization header 的一部分发送?换句话说,我可以让 redirect_uri 通过身份验证吗?

您可以使用隐式授权流程,id 和访问令牌将作为查询参数发送。因此,如果经过身份验证的 uri 的身份验证在您的控制之下,您可以从查询字符串中读取令牌。 你可以在 userpool/app client settings/oauth 2.0.

下设置

选项 1 - 重定向到公共页面或主页,然后从那里调用经过身份验证的 uri。在这种情况下,您可以使用 aws 提供的更安全和推荐的授权流程。

选项 2 - 使用自定义 lambda 授权方作为 api 网关和 select lambda 事件负载作为请求。现在您可以将查询字符串令牌传递给 lambda 授权方,您可以在其中检查其签名和到期时间