首页 > 解决方案 > 他们的身份验证库是否类似于 Devise,仅支持 API 轨道应用程序但也支持刷新令牌?

问题描述

我不断看到很多 Rails API 服务的教程,它们只是带回会话 cookie 并使用大量的 Devise 配置。我不反对使用 Devise Token Auth,但据我所知,它不支持 JWT。

我想要 JWT 支持,但我也想要像 Devise 一样的确认/锁定/解锁帐户等功能。每当我看到具有静默刷新功能的 JWT 教程(在访问令牌过期或即将过期后,刷新令牌用于获取新令牌)时,它们都是以 Node.js 作为后端的教程。Devise JWT 是一个位于 Devise 之上的库,但需要对 Devise 进行大量配置,并且它不支持刷新令牌,而且该库的作者似乎对撤销 JWT 有一种奇怪的哲学(这违背了 JWT 在我的意见)。

我觉得这个问题应该已经通过某种现代化的库来解决,用于仅 API 的应用程序,或者使用支持访问和刷新 JWT 以实现静默刷新的 Devise 或 Devise Token Auth 的某种配置。

或者,是否存在一门旨在使用 React 作为前端的课程?

标签: ruby-on-railsdevisejwtdevise-token-auth

解决方案


我决定推出自己的解决方案。我创建了一个新的 gem devise_jwt_auth,它本质上是一个从 Devise Token Auth 移植的基于 JWT 的访问/静默刷新解决方案。在这个阶段,这不是一个成熟的解决方案,但我欢迎任何愿意提供帮助的贡献者。您可以在此处找到该项目,该项目已通过ruby​​gems.org发布,因此您可以gem install devise_jwt_auth使用它。


推荐阅读