亚马逊认知基本功能问题



我正在制作一个应用程序,我对亚马逊Cognito:有一些问题

  1. 我读到,当您登录Cognito时,它会返回一个JWT令牌,其中包括:ID令牌、访问令牌和刷新令牌。我的第一个问题是,我该把这些代币保存在我的应用程序中的哪里,这样用户就可以继续登录,而不必每次登录?我是把它保存在一个州里,还是保存在饼干里,或者其他地方?我不明白。

  2. 我如何使用JWT来发出经过身份验证的api请求?

  3. 如何在后台刷新JWT,以便用户能够保持登录状态?我在文件中不清楚这一点。JWT到期后,用户如何保持登录状态而不必每次都登录?

谢谢!

我的理解如下。存储的选择很重要,因为您希望防止跨站点脚本(XSS(和跨站点请求伪造(CSRF(。当然,始终使用HTTPS。

  1. 存储在内存中,或HttpOnly cookie中,或会话cookie中(按偏好降序排列(,但存储在HTML5 web存储中
  2. 使用Bearer模式在HTTP Authorization标头中发送JWT(见下文(
  3. 参见JWT刷新令牌流

标题的内容看起来像:

Authorization: Bearer <token>

几个推荐的网站:

  • JSON Web令牌简介
  • JWT的存储位置–Cookie与HTML5网络存储
  • 刷新令牌:何时使用它们以及它们如何与JWT交互
  • 在前端客户端处理JWT的终极指南

最新更新