在节点服务器中生成刷新令牌和访问令牌

问题描述 投票:1回答:1

我正在构建移动设备和网络应用。这两个应用程序都将与节点服务器通信。我正在使用JWT进行身份验证。

当前,我有以下代码来生成访问令牌:

const token = jwt.sign({ user: body }, "top_secret");

我对刷新令牌和访问令牌感到非常困惑:

  1. 如何创建刷新令牌?
  2. 刷新令牌的外观如何?
  3. 我可以创建刷新令牌-类似于创建访问令牌的方法吗?
  4. 刷新令牌是否仅用于生成新的访问令牌?
  5. 刷新令牌可以用作访问令牌吗?
  6. 您如何使访问令牌无效
  7. 您如何使刷新令牌无效?我见过的示例使用数据库存储刷新令牌。当您要使访问令牌无效时,将删除刷新令牌。如果将刷新令牌存储在用户模型上的数据库中以进行访问,对吗?在这种情况下,似乎应该对其进行加密

  8. 当用户登录我的应用程序时,我是否同时发送访问令牌和刷新令牌?我在某处(不记得在哪里)读到,发送访问令牌和刷新令牌不是一个好习惯。

  9. 如果发送访问令牌和刷新令牌都是错误的做法,那么什么时候将刷新发送给客户端?应该有一个客户端请求访问令牌的端点吗?
  10. 什么是访问令牌和刷新脚趾的有效到期时间?>

我正在构建移动设备和网络应用。这两个应用程序都将与节点服务器通信。我正在使用JWT进行身份验证。当前,我有以下代码来生成访问令牌:const token = jwt ....

node.js security authentication oauth-2.0 jwt
1个回答
0
投票

[请注意,在典型的OAuth2方案中,发布服务器的令牌(授权服务器)和使用访问令牌的API服务器(资源服务器)是不同的。另请参阅:Oauth2 roles

© www.soinside.com 2019 - 2024. All rights reserved.