【问题标题】:AWS Cognito Token Expiring After 1 HourAWS Cognito 令牌在 1 小时后过期
【发布时间】:2018-01-20 03:21:44
【问题描述】:

我正在使用 AWS Cognito JavaScript SDK 在我的 React Native 应用程序中授权和验证用户。

我已经设法为用户提供和存储了一个 IdentityId。未登录的用户可以访问我的应用程序的一部分,只要我们通过联合身份/IAM 对他们进行确认授权。这一切都很好。

我的问题是,一个小时后令牌即将到期,因此他们的访问权限受到限制。这里的流程应该是什么?我是检索新令牌,还是进行某种令牌刷新?那是什么样子的?

那里有很多 AWS Cognito 文档,但我还没有真正找到我需要的东西;最重要的是,我发现很难区分成功的联合身份/IAM 授权流程需要什么与成功的用户池/登录流程需要什么。

【问题讨论】:

    标签: javascript amazon-web-services react-native aws-sdk amazon-cognito


    【解决方案1】:

    您拥有凭据...并且您第一次调用了 credentials.get()...现在在 55 分钟后的计时器上调用 credentials.refresh()...因此您将在凭据过期之前更新凭据(每次获得新证书时都这样做......在 55 分钟内刷新)

    【讨论】:

    • 哇,真的吗?当用户关闭应用程序超过 55 分钟(或几小时、几天等)时会怎样?当他们重新打开它时,我是否只需在加载时调用credentials.refresh()
    • 当打开应用程序...调用 get() 发送令牌(你有过期时间,所以你知道你是否可以调用刷新或者这是第一次(没有过期时间)) ,或者不需要,因为过期时间较晚。我知道很丑……
    • 实际上现在查看我的代码我没有在任何地方调用credentials.get(),但我正在这样做:var cognitoidentity = new AWS.CognitoIdentity() 然后调用cognitoidentity.getId() 来获取IdentityId,然后调用cognitoidentity.getCredentialsForIdentity() 到获取令牌和到期。我仍然使用credentials.refresh() 吗?
    • 您是否仅使用 lambda 凭据?因为您可以创建自己的“令牌”并使用自定义身份验证检查该令牌......并做任何你想做的......就像永远不会过期令牌
    • 是的,如果您已经拥有凭据...只需调用刷新
    猜你喜欢
    • 2017-11-15
    • 2016-05-19
    • 1970-01-01
    • 2020-04-07
    • 2021-12-21
    • 2019-03-06
    • 2019-05-28
    • 2018-07-30
    • 1970-01-01
    相关资源
    最近更新 更多