Auth0、Firebase Auth、AWS Cognitoに代わるオープンソースの認証・セッション管理バックエンド、SuperTokensのセルフホスト型コアサービス。
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
Rails の Gemfile に Devise を追加する
bundle add devise - 2
Devise のインストールジェネレーターを実行する
rails generate devise:install - 3
Devise モジュールを使ってユーザーモデルを生成する
rails generate devise MODEL - 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 の数値は毎日更新されます。
関連プロジェクト
Rackミドルウェアの拡張可能なStrategyを通じて、Webアプリの複数プロバイダー認証を標準化するRubyライブラリ。
プラグインで2FAやマルチテナントに対応できる、TypeScript向けのフレームワーク非依存な認証・認可フレームワーク。
SSO、OAuth/OIDC、SAML、CAS、LDAP、SCIM、MFA、MCPゲートウェイを提供する、Webコンソール付きのセルフホスト型ID・アクセス管理サーバー。
パスキー、パスワード、MFA、OAuth・SAML SSO、Webコンポーネントに対応した、オープンソースの認証・ユーザー管理バックエンド。
Supabase Authを支える、JWTを発行するGo製の認証・ユーザー管理サーバー。