【问题标题】:AWS Cognito get new id_tokenAWS Cognito 获得新的 id_token
【发布时间】:2018-05-03 10:44:02
【问题描述】:

我正在为一个特定客户端(基于 Web 的管理门户)使用隐式授权,该应用程序将 Cognito 集成身份验证用于应用程序的其他部分(API 网关等)。

问题是,我从 Cognito Oauth 获得的 id 令牌在一小时后过期,但我仍然需要将该令牌发送到 API Gateway 以表明我有一个经过身份验证的用户。

如何获取新的 id 令牌(请记住,我使用的是隐式授权,所以我没有刷新令牌)?

我是否必须每小时将用户的凭据重新发送到 Cognito 的身份验证端点?出于多种原因,这似乎非常不安全。

我错过了什么?

提前致谢!

【问题讨论】:

  • 我不确定为什么即使 ID 令牌已过期,您仍会使用它。理想情况下,应该在一小时后创建一个新令牌。过期后不得使用。
  • 是的。我知道,令牌过期后我不能使用它,因为它已经过期了。新代币是如何“发行”的?我是不是要检查过期并再次发送用户的用户名和密码以获取新令牌?

标签: amazon-web-services oauth-2.0 aws-cognito


【解决方案1】:

如果您使用隐式授权,则无法刷新令牌(存储凭据并使用它来获取新的 id 令牌不计算在内,因为它消除了使用 OpenID Connect 的目的)。

这就是代码授权存在的原因。除非您使用代码授权,否则无法刷新令牌。

如果您使用代码授权(包括使用联合身份访问 S3 等 AWS 资源),您可以使用 AWS Amplify 库来简化登录,它负责刷新和其他繁重的工作。

【讨论】:

    猜你喜欢
    • 2020-03-19
    • 2019-06-27
    • 2019-06-29
    • 2019-06-29
    • 2018-03-08
    • 2020-06-03
    • 2022-11-05
    • 2020-02-14
    • 2018-02-18
    相关资源
    最近更新 更多