当前位置: 首页 > 知识库问答 >
问题:

Rails:使用敲击使用JWT令牌进行身份验证

马德宇
2023-03-14

我正在尝试为我的应用程序构建一个身份验证解决方案。我使用React作为前端,使用API模式下的Rails作为后端。我有一个外部身份验证解决方案,我需要使用它。我无意中发现了Knock for JWT令牌管理,但我不理解文档,尤其是这部分“它必须有一个身份验证方法,类似于has_secure_password添加的方法”,因为由于我的外部身份验证服务,我没有用户模型。因此,在我的头脑中,登录请求将发送到我的LoginController,它将管理外部身份验证,并且在成功身份验证后,将以某种方式创建一个JWT令牌并将其返回给前端。你知道我是怎么做到的吗?

共有1个答案

公羊信厚
2023-03-14

如果您使用的是外部身份验证解决方案,则您没有登录控制器,也不需要。如果您有外部服务进行身份验证,那么很可能是OpenID或OAuth2。

这里很好的解释了认证流程。

应用程序中可能想要和需要的是一个验证持有者令牌是否有效的before_action

 类似资料:
  • jwt不应该仅仅用于认证用户吗?我读到过可以在里面存储非敏感的东西,比如用户ID。将权限级别之类的东西存储在令牌中可以吗?这样我可以避免数据库调用。

  • 致命:“https://github.com/scuzzlebuzzle/ol3-1.git/'”身份验证失败

  • 但请求呢?和是用户的属性,但应将它们发送到endpoint。如果我将资源发送到endpoint,则没有多大意义。 对此有没有办法,遵循JSONAPI并保持API的意义?

  • 本文向大家介绍Ruby on Rails 使用Devise进行身份验证,包括了Ruby on Rails 使用Devise进行身份验证的使用技巧和注意事项,需要的朋友参考一下 示例 将gem添加到Gemfile中: gem 'devise' 然后运行bundle install命令。 使用命令$rails generate devise:install生成所需的配置文件。 在每个环境中为Devis

  • 我正在做一个项目(没有生产级别,只是为了提高我的技能),我正在使用JWT来处理身份验证。从我所读到的内容来看,仅使用JWT作为访问令牌是非常不安全的,因此我们需要刷新令牌。因此,在登录时,服务器返回一个访问令牌和一个刷新令牌(我将存储在httpOnly cookie中)。访问令牌在短时间内到期,但刷新令牌在到期时用于获取新令牌。 我的问题是,我们何时使用刷新令牌来获取新的访问令牌?是当用户想要获得

  • 现在我想知道如何集成刷新令牌。如何确保用户只能使用已颁发给该设备的有效刷新令牌获得新的访问令牌?或者,我是否使事情过于复杂,并分配一个刷新令牌,可以在alle设备上使用,这将是一个诀窍? 更新:我已经研究了doorkeeper gem,它支持密码授予流。但是doorkeeper处理令牌的方式是,它将每个生成的访问令牌与相应的刷新令牌存储在数据库中。当令牌被撤消或刷新时,旧的访问令牌将失效--随着时