【问题标题】:Cognito - does cognito automatically store the tokens locally?Cognito - cognito 会自动在本地存储令牌吗?
【发布时间】:2017-11-15 13:51:48
【问题描述】:

我是 cognito 的新手。我正在使用用户池并调用 userPool.getCurrentUser() 来获取当前用户,然后调用 getSession() 来获取 idToken、accessToken 和 refreshToken - 据我了解,这些由 cognito 自动存储在本地存储中(如确认即使没有互联网连接也能够访问这些令牌)。

我希望对以下 3 个问题进行一些澄清:

问题 1)我假设这些令牌是在用户上次进行身份验证时由 cognito 存储的(因此它们将按照默认值过期)?

问题 2) 文档指出:“我们强烈建议您在应用程序的上下文中保护传输和存储中的所有三个令牌。” - 当 cognito 已经将它们存储在本地时,我们为什么还要存储它们?

问题 3)如果 cognito 将令牌存储在本地,我们是否需要做任何事情来确保它们被安全存储?

【问题讨论】:

    标签: security local-storage amazon-cognito


    【解决方案1】:

    1) 是的,它们是在最后一个用户进行身份验证时由 Cognito 存储的,是的,它们将根据默认值或刷新令牌的配置过期。

    2) 只是如果有人获得了您的有效访问令牌,他们就可以访问您的帐户。所以我认为这只是关于如何处理令牌的安全建议。

    3) 您现在可以选择根据应用程序的需要将自己的存储传递给 Cognito 对象,因此您根本不需要使用本地存储。

    【讨论】:

    • 感谢您回答我的问题 Ionut。关于问题 2)是的,我理解为什么我们需要保护代币,但我的意思是,当 cognito 已经在保存它们时,为什么我们还要保存它们?关于问题 3)我不明白您所说的“您现在可以选择将自己的存储传递给 Cognito 对象”是什么意思——我想知道的是,cognito 正在将令牌保存到本地存储中——我也是必须做任何事情来保护它们还是它们是安全的(即 cognito 已经保护了它们)?
    • 好的,对此有所了解。 1) cognito 将令牌保存在本地存储中 2) 关于这是否安全存在很多争论。有人说是,有人说不是。一些建议宁愿保存在 cookie 中。共识似乎是,如果您的网站被黑客入侵,特别是 XSS,那么存储在 cookie 中的令牌很可能也会受到损害 3)您可以将令牌保存在自己的存储中(请参阅 AWS放大 Auth 文档)
    • @CliveSargeant 你最后做了什么?
    猜你喜欢
    • 2020-09-03
    • 2021-12-26
    • 2019-09-23
    • 2023-03-25
    • 2021-03-24
    • 1970-01-01
    • 2018-07-17
    • 2022-11-15
    • 1970-01-01
    相关资源
    最近更新 更多