【问题标题】:Is there any way to generate cognito auth token for user without providing password in aws-sdk or aws-amplify?有没有办法在 aws-sdk 或 aws-amplify 中不提供密码的情况下为用户生成 cognito auth 令牌?
【发布时间】:2019-12-02 06:31:41
【问题描述】:

我正在使用 AWS Cognito 进行用户管理。我想在不提供密码的情况下为用户生成身份验证令牌。有没有办法做到这一点?来自 aws-sdk 或 aws-amplify。

我从 aws-sdk 找到了 AdminInitiateAuth 方法,但它需要密码。

提前致谢!!

【问题讨论】:

  • 在我使用 cognito 用户池的应用程序中添加 google auth 后,我了解到这是可能的,但需要使用 oauth 协议并提供与 cognito 对话并检索令牌的外部提供程序。好的起点是查看 google oauth 如何与 cognito 集成。

标签: node.js aws-sdk amazon-cognito aws-amplify aws-sdk-js


【解决方案1】:

一种可能的方法是使用数据库和无服务器(lambda 和 API 网关)协助。

第一次必须提供密码才能获得刷新令牌。

刷新令牌的寿命比 id 或访问令牌长。所以你可以保存刷新令牌数据库(dynamodb,RDS)。

之后,我们可以在不提供密码但提供保存的刷新令牌的情况下申请新的 id 或访问令牌。

This link ,您将看到刷新令牌如何在不提供密码的情况下帮助获取 id 或访问令牌。

希望对您有所帮助。

【讨论】:

  • 这并没有说明您将如何使用已保存的 refreshToken 获取 refreshToken。
【解决方案2】:

如果您希望用户无需密码即可访问 aws 资源,您可以使用Unauthenticated identity 功能。

【讨论】:

    猜你喜欢
    • 2020-03-09
    • 2018-04-12
    • 2020-08-14
    • 1970-01-01
    • 2018-01-21
    • 2023-03-20
    • 1970-01-01
    • 2020-09-14
    • 2016-09-01
    相关资源
    最近更新 更多