SuperTokens 的核心服务,一个开源、可自托管的登录认证与会话管理后端,可替代 Auth0、Firebase Auth 等服务。
heartcombo/devise
基于 Warden 的 Rails 灵活认证方案,按模块提供注册、登录、密码找回、账户锁定等功能。
- Star
- 24,349
- Fork
- 5,470
- 未关闭 Issue
- 243
- 最近提交
- 上个月
这是什么?
Devise 是一个面向 Ruby on Rails 的认证库,基于 Rack 认证框架 Warden 构建。它以 Rails engine 的形式提供控制器、视图和路由,可以快速搭建完整的登录系统。
功能按模块拆分,可以针对每个模型单独启用,只引入需要的部分。可用模块包括基于数据库的密码登录、OmniAuth 第三方登录、邮箱确认、密码找回、用户注册、记住登录的 Cookie、活动记录、会话超时、字段校验,以及多次登录失败后锁定账户等。同一应用中可以为 User、Admin 等多个模型分别提供登录能力。
Devise 默认使用 ActiveRecord,也支持 Mongoid。生成器会创建配置文件、模型和路由,控制器和视图中可直接使用 authenticate_user! 和 current_user 等辅助方法。
核心功能
- 01按模型启用的模块化认证功能。
- 02基于数据库的密码登录,并支持 HTTP Basic 认证。
- 03集成 OmniAuth,支持第三方登录。
- 04提供邮箱确认、密码找回和账户解锁流程。
- 05支持多个用户模型同时登录。
- 06控制器、视图和参数过滤均可自定义。
适用场景
- 为新建或已有的 Rails 应用添加注册和登录功能。
- 用不同模型分别管理管理员和普通用户登录。
- 在邮箱密码账户之外增加第三方社交登录。
- 在 Rails API 模式下使用 HTTP Basic 认证保护接口。
快速上手
- 1
将 Devise 添加到 Rails 的 Gemfile 中
bundle add devise - 2
运行 Devise 安装生成器
rails generate devise:install - 3
生成带有 Devise 模块的用户模型
rails generate devise MODEL - 4
运行数据库迁移
rails db:migrate
使用前须知
- 需要较好地理解 Rails,README 建议初学者先从零实现认证。
- Devise 5 仅支持 Rails 7 及以上版本,较旧的 Rails 应用需要使用更早的版本。
收录于专题
标签
常见问题
- devise 是什么?
- 基于 Warden 的 Rails 灵活认证方案,按模块提供注册、登录、密码找回、账户锁定等功能。 Devise 是一个面向 Ruby on Rails 的认证库,基于 Rack 认证框架 Warden 构建。它以 Rails engine 的形式提供控制器、视图和路由,可以快速搭建完整的登录系统。
- devise 可以免费使用吗?用的什么许可证?
- devise 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- devise 还在维护吗?
- 半年内有更新。devise 最近一次提交是在 2026年10月6日。
- devise 适合用来做什么?
- 为新建或已有的 Rails 应用添加注册和登录功能。 用不同模型分别管理管理员和普通用户登录。 在邮箱密码账户之外增加第三方社交登录。 在 Rails API 模式下使用 HTTP Basic 认证保护接口。
- devise 怎么安装和运行?
- 将 Devise 添加到 Rails 的 Gemfile 中: bundle add devise 运行 Devise 安装生成器: rails generate devise:install 生成带有 Devise 模块的用户模型: rails generate devise MODEL 运行数据库迁移: rails db:migrate
- 在哪里获取 devise?
- 源代码和安装说明在 GitHub 上:https://github.com/heartcombo/devise
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Rack 中间件的 Ruby 认证库,通过可插拔的策略为 Web 应用统一多平台登录。
面向 TypeScript 的通用认证与授权框架,通过插件扩展 2FA、多租户等功能。
可自托管的身份与访问管理服务器,提供 SSO、OAuth/OIDC、SAML、LDAP、MFA 及 MCP 网关,并带有 Web 管理控制台。
开源的身份认证与用户管理方案,支持 Passkeys、密码、MFA、OAuth 和 SAML SSO。
基于 Go 的认证与用户管理服务,负责签发 JWT,是 Supabase Auth 的底层服务。