JWT在Rails + React应用程序中用于Auth的用途是什么

时间:2019-09-13 06:09:29

标签: ruby-on-rails reactjs devise jwt

我不了解JWT令牌的使用。.
有人可以向我解释吗?
因为当前我正在开发一个应用程序(rails + react),并且我想使用devise + jwt进行身份验证,而使用React进行前端。

实际上,我了解到:

1 /如果用户要登录:他完成了表单,React从表单获取数据,并将这些信息发布请求到Rails API。

2 /如果Rails API的信息与注册用户匹配,Rails API将在数据库中检查这些信息,如果是,则Rails API将创建一个JWT令牌并将此令牌发送到React。
用户现在已登录,因为Rails API找到了匹配的用户。

3 / React收到JWT令牌。 (??该令牌的用法是什么??)

谢谢

4 个答案:

答案 0 :(得分:1)

由于您将返回api。反应是消耗它。 Jwt帮助返回您可能需要在前端保留的数据,以进行响应。诸如用户名或电子邮件之类的数据。 示例:使您的网站标题显示用户已登录。

答案 1 :(得分:1)

我的回复并不特定于Rails / React,而是针对所有使用JWT令牌的网络技术:

您说的是正确的。从第3点开始,从React到Rails后端的所有请求都必须包含标头Authorization: Bearer <token>

Rails看到该标头时,便可以:

  • 通过检查其签名来检查令牌是否有效
  • 对其进行解码并提取其中存储的所有信息。

请记住,JWT令牌可以包含后端要存储在其中的任何信息。客户端无法对其进行篡改,因为它是用密码签名的,因此会使签名失效。

以上属性(事实上,您可以在其中存储任何内容,前端随每个请求发送它并且没有人可以篡改它)帮助任何Web应用程序能够:

答案 2 :(得分:0)

由于您将返回api。反应是消耗它。 Jwt帮助返回您可能需要在前端保留的数据,以进行响应。诸如用户名或电子邮件之类的数据。 示例:使您的网站标题显示用户已登录。 jwt在前端的主要目的基本上是auth。 分开。 如果您使用的是单块应用程序,则需要为用户处理会话 在反应情况下,jwt充当会话

答案 3 :(得分:0)

jwt在前端的主要目的基本上是auth或其他目的。 分开。如果您使用的是Monolith应用程序,则您要为用户处理会话。在反应情况下,jwt充当会话