AWS Cognito 托管 UI 在 URL 中返回 id_token

Big*_*kin 4 query-string amazon-cognito

我正在使用 AWS Cognito 的托管 UI 进行用户登录。id 令牌作为 URL 的一部分返回,如https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-integration.html中所述。即,

您可以在响应中的 #idtoken= 参数后面找到 JSON Web 令牌 (JWT) 身份令牌。以下是隐式授予请求的示例响应。https://www.example.com/#id_token=123456789tokens123456789&expires_in=3600&token_type=承载

但是,将敏感数据放入查询字符串中被认为是一种不好的做法(HTTPS 查询字符串安全吗?)。AWS Cognito 是否支持更安全的返回 id 令牌的方式?

Nin*_*wad 5

您可以要求 cognito 向您发送授权码,而不是令牌。来自文档:

授权码授予是授权最终用户的首选方法。提供授权代码,而不是在身份验证时直接向最终用户提供用户池令牌。然后,该代码被发送到自定义应用程序,该应用程序可以将其交换为所需的令牌。由于令牌永远不会直接暴露给最终用户,因此它们不太可能受到损害。

来源:https://aws.amazon.com/blogs/mobile/understanding-amazon-cognito-user-pool-oauth-2-0-grants/