
Devise
Ready-made user sign-up, login, and password reset for Rails apps, built on Warden.
- Stars
- 24.4k
- Forks
- 5.5k
- Licence
- MIT
- Language
- Ruby
- Last update
- 1 months ago
- Type
- Library
What it is
Devise is a Ruby gem that adds user accounts to a Rails web application. It handles things like signing up, signing in, password resets, and account confirmation by email, so developers don't have to write those parts from scratch. It is built on Warden, a Rack-based authentication layer, and is organized as ten optional modules you can switch on as needed.
- Add sign-up and sign-in pages to a Rails app with a user model
- Send confirmation emails before a new account can be used
- Let users reset a forgotten password by email
- Lock an account after a set number of failed sign-in attempts
- Add OmniAuth social login alongside email and password
Great for
- Rails developers who need standard email-and-password login quickly
- Teams that want features like email confirmation, password reset, and account locking without building them
- Apps that need more than one kind of user model signed in at once
Not ideal for
- People building their first Rails app: the README itself recommends learning Rails and authentication from scratch first
- Non-Rails projects, since Devise is specifically for Rails
- Projects needing a hosted login service with no code, because Devise is a code library you integrate yourself
How to get it
- 1
Install with a package manager
You'll need: Ruby · Rails
Clone the repository to inspect or contribute
git clone https://github.com/heartcombo/devise - 2
Run it
- Add the devise gem to your Rails app's Gemfile and run bundle install (install steps are in the wiki and RDocs, not shown in this README excerpt)
- Generate Devise's configuration and add Devise to a model such as User (details are in the wiki)
- Run your migrations and start the Rails server
- Visit the sign-up or sign-in routes Devise adds to your app
- 3
Get the most out of it
- Read the Devise wiki for how-to articles and common questions
- Browse the example applications on the wiki to see Devise with different Rails versions
- Use the Omniauthable module to add social login through OmniAuth
- Check the wiki's extensions list for community add-ons
- Use the included test helpers for controller and integration tests
Downloads
Strengths
- Modular: you enable only the features you need, such as Confirmable or Lockable
- Large, long-running project with a wiki, RDocs, and community extensions
- Supports multiple signed-in models at the same time
Trade-offs
- Requires a solid understanding of Rails; the README warns against it for beginners
- Customizing views, controllers, and routes adds work on top of the defaults
- Supports both ActiveRecord and Mongoid, so setup details depend on your data layer
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| devise (this) | 24.4k | Library | intermediate | 1 months ago | Rails developers who need standard email-and-password login quickly |
| rails | 58.8k | Framework | intermediate | 4 days ago | Developers building database-backed web applications in Ruby |
| better-auth | 30.6k | Library | intermediate | 5 days ago | TypeScript developers who need login and access control in their own app |
| jwt-auth | 11.5k | Library | intermediate | 13 days ago | Laravel developers building token-based APIs |
| django-allauth | 10.4k | Library | intermediate | 6 days ago | Django developers who need signup and login for a web project |
| sinatra | 12.5k | Library | beginner | 4 months ago | Ruby developers who want a small, readable web app or API |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.