Skip to content

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
Step-by-step guide: how to use DeviseInstall, first run, examples, tips and FAQs

How to get it

  1. 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. 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. 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

ProjectStarsTypeLevelUpdatedBest for
devise (this)24.4kLibraryintermediate1 months agoRails developers who need standard email-and-password login quickly
rails58.8kFrameworkintermediate4 days agoDevelopers building database-backed web applications in Ruby
better-auth30.6kLibraryintermediate5 days agoTypeScript developers who need login and access control in their own app
jwt-auth11.5kLibraryintermediate13 days agoLaravel developers building token-based APIs
django-allauth10.4kLibraryintermediate6 days agoDjango developers who need signup and login for a web project
sinatra12.5kLibrarybeginner4 months agoRuby 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.