【问题标题】:AWS Cognito Hosted UI -- How to use the returned JWT token?AWS Cognito 托管 UI -- 如何使用返回的 JWT 令牌?
【发布时间】:2020-09-18 10:53:33
【问题描述】:

我正在使用 Amazon Cognito 及其托管 UI 来帮助创建 Web 应用程序。我可以使用托管 UI 登录,并且重定向链接成功地将我指向我想要它去的地方。我还在重定向时收到了格式正确的 JWT 令牌。

我还成功地将 JWT 令牌解析为 JS 对象,并且能够验证其有效性。用正确的用户名,过期时间,发出时间等等等等。

我现在遇到的问题是我根本不知道从这里去哪里。我拥有该 JWT 是否足以继续并假设用户是有效的?如果我希望能够在网站上的不同网页上持久保存用户,那么将 JWT(或者至少是其中的一部分)存储在会话存储中并像有效用户一样行事是否安全?

如果不是,那我接下来应该如何处理 JWT?我浏览了许多关于在 Cognito 中使用 JWT 的各种文章,它们似乎都是关于解码 JWT,而不是关于解码后我应该如何处理 JWT。 就上下文而言,我真正想从 JWT 获得的只是正确的用户名,我计划在其他地方存储许多其他重要的用户详细信息。

很抱歉,如果我缺少关于下一步该去哪里的非常明显的信息,但我对所有这些 AWS 东西都很陌生,而且很多文档都令人困惑,而且对初学者不友好。感谢您的宝贵时间,非常感谢您提供任何帮助。

编辑:我想包括我在香草客户端javascript上编写登录/验证/重定向代码。我正在使用标准 aws SDK、aws-cognito SDK 和 amazon-cognito-identity SDK。我的导入看起来像这样:

   <script src="https://sdk.amazonaws.com/js/aws-sdk-2.686.0.min.js"</script>
   <script src="../../aws-cognito/dist/amazon-cognito-auth.min.js" type="text/javascript"></script>
   <script src="../../amazon-cognito-identity-js/dist/amazon-cognito-identity.min.js"></script>

【问题讨论】:

    标签: amazon-web-services jwt amazon-cognito


    【解决方案1】:

    我对您的建议是研究 AWS 客户端 SDK,它为您处理存储、刷新和其他不错的功能。

    https://docs.amplify.aws/start/q/integration/js - 主客户端 SDK。

    https://github.com/amazon-archives/amazon-cognito-auth-js - 用于 Cognito Oauth 端点/托管 UI 的旧版 SDK。

    两个 SDK 都会将 HostedUI 身份验证的结果存储在浏览器中的本地存储中。在那里,您可以检查令牌是否有效,如果您需要将令牌发送到授权资源服务器,甚至可以访问它们。

    当然,这一切都可以在不使用这些 SDK 的情况下实现,但它们会有所帮助并且可以为您提供指导。此外,AWS 开发工具包和 Cognito 身份开发工具包没有任何功能可以帮助您与 HostedUI 和 Oauth 端点集成。这可以使用上面提供的 SDK 来完成。

    【讨论】:

      猜你喜欢
      • 2020-03-19
      • 2019-11-20
      • 2018-03-07
      • 2020-10-27
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 2023-04-03
      • 2021-01-01
      相关资源
      最近更新 更多