Repolode
heartcombo

heartcombo/devise

Wardenを基盤とするRails向けの柔軟な認証ソリューション。データベース認証、メール確認、パスワード再設定、アカウントロックなどの機能をモジュール単位で提供します。

スター
24,350
フォーク
5,470
未解決の Issue
243
最終コミット
先月

これは何?

DeviseはRuby on Rails向けの認証ライブラリです。Rackベースの認証フレームワークであるWardenを基盤とし、サインインシステムに必要なコントローラー、ビュー、ルートを提供するRails engineとして動作します。

機能はモデルごとに有効化するモジュールに分かれているため、必要なものだけを組み込めます。利用できるモジュールには、データベース認証によるパスワードログイン、OmniAuthによるソーシャルログイン、メール確認、パスワード再設定、ユーザー登録、ログイン状態を維持するCookie、アクティビティ追跡、セッションタイムアウト、バリデーション、サインイン失敗が続いた場合のアカウントロックがあります。UserやAdminなど、複数のモデルで同時にサインインできます。

DeviseはデフォルトでActiveRecordをサポートし、代替ORMとしてMongoidも利用できます。ジェネレーターを使うと設定用initializerがインストールされ、モデルとルートが作成されます。また、authenticate_user!やcurrent_userなどのヘルパーをコントローラーとビューで利用できます。

主な機能

  • 01モデルごとに有効化できる、モジュール式の認証機能。
  • 02HTTP Basic Authenticationにも対応した、データベース認証によるパスワードログイン。
  • 03サードパーティのサインインプロバイダーと連携するOmniAuth統合。
  • 04メール確認、パスワード再設定、アカウントロック解除の各フロー。
  • 05複数のユーザーモデルでの同時サインイン。
  • 06カスタマイズ可能なコントローラーとビュー、およびstrong parameterのサニタイズ。

ユースケース

  • 新規または既存のRailsアプリケーションにユーザー登録とサインインを追加する。
  • 異なるモデルを使って、管理者と一般ユーザーのログインを分ける。
  • メールアドレスとパスワードによるアカウントに、ソーシャルログインを追加する。
  • Rails API modeでHTTP Basic認証を使い、APIエンドポイントを保護する。

クイックスタート

  1. 1

    Rails の Gemfile に Devise を追加する

    bundle add devise
  2. 2

    Devise のインストールジェネレーターを実行する

    rails generate devise:install
  3. 3

    Devise モジュールを使ってユーザーモデルを生成する

    rails generate devise MODEL
  4. 4

    データベースのマイグレーションを実行する

    rails db:migrate

使う前に知っておきたいこと

  • Rails に関する十分な知識が必要です。README では、初心者はまず認証の仕組みを一から学ぶことを勧めています。
  • バージョン 5 は Rails 7 以降が対象のため、古い Rails アプリでは旧バージョンの Devise が必要です。

収録されている特集

トピック

よくある質問

devise とは?
Wardenを基盤とするRails向けの柔軟な認証ソリューション。データベース認証、メール確認、パスワード再設定、アカウントロックなどの機能をモジュール単位で提供します。 DeviseはRuby on Rails向けの認証ライブラリです。Rackベースの認証フレームワークであるWardenを基盤とし、サインインシステムに必要なコントローラー、ビュー、ルートを提供するRails engineとして動作します。
devise は無料で使えますか?ライセンスは?
devise は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
devise は今もメンテナンスされていますか?
半年以内に更新あり。devise の最終コミットは 2026年10月6日 です。
devise は何に使えますか?
新規または既存のRailsアプリケーションにユーザー登録とサインインを追加する。 異なるモデルを使って、管理者と一般ユーザーのログインを分ける。 メールアドレスとパスワードによるアカウントに、ソーシャルログインを追加する。 Rails API modeでHTTP Basic認証を使い、APIエンドポイントを保護する。
devise のインストール方法は?
Rails の Gemfile に Devise を追加する: bundle add devise Devise のインストールジェネレーターを実行する: rails generate devise:install Devise モジュールを使ってユーザーモデルを生成する: rails generate devise MODEL データベースのマイグレーションを実行する: rails db:migrate
devise はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/heartcombo/devise

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト