好的是在http标头中加倍jwt令牌?

时间:2018-02-19 05:06:51

标签: javascript http express jwt fetch

我正在使用jwt访问和刷新令牌模式。这意味着客户端需要在标头中发送2个jwt令牌。目前,我只是这样做:

'Authorization': 'Bearer ' + user.accessToken + ' ' + user.refreshToken

然后在我的服务器上,我拆分了()req授权头,因为我知道[1]是访问令牌而[2]是刷新令牌,然后我有我的令牌。这种安全方法有什么问题吗?我更擅长获取/认证,并且知道有特定的做法可以遵循,这可能会破坏“持票人”的正常使用情况。但是它有效,所以如果没有任何安全方面的缺点,我想使用这个解决方案。我正在自己实施身份验证,不需要与其他人集成,因此不需要Oauth2。

1 个答案:

答案 0 :(得分:1)

我正在使用jwt访问和刷新令牌模式。很抱歉,但事实并非如此。你制造了一个令人难以置信,不安全的令牌混合物,最终不会给你任何回报。这就是原因。

访问令牌背后的想法是第三方服务可以使用它来授权用户。

刷新令牌背后的想法是用户可以随时发出一对新的访问/刷新令牌。

你做了什么:

  1. 你实际上允许任何第三方拥有访问和刷新令牌,这意味着如果我是恶意第三方,我可以使用刷新令牌将用户留在我的系统中(通过获取我自己的访问令牌并更新所有时间)并永远代表用户行事
  2. 您将一个双倍大小的标记附加到标头,并且JWT因请求标头的大小而众所周知。因此,只要通常刷新令牌与访问令牌
  3. 的大小几乎相同,您就可以解决问题
  4. 你什么也没回来。实际上胜利是什么?