Sorceryで用意されているサブモジュール
ユーザー認証用に導入したgemのsorceryには、
単純なパスワードによる認証機能に加えて様々なモジュールが用意されています。
使いたい機能をサブモジュールとしてインストールしていき、
それを元に自分たちで処理を書いていくという方式を取っています。
User Activation
ユーザーが新規登録したときに、登録したメールアドレスにメールが届き、
メール内に記載しているリンクをクリックすることでユーザー認証をする機能です。
User Activation · Sorcery/sorcery Wiki · GitHub
Reset Password
パスワードを忘れてしまった時、
パスワードのリセットをする機能です。
Reset password · Sorcery/sorcery Wiki · GitHub
Remember Me
フォームでチェックボックスをクリックすると永続ログインを有効にする機能です。
Remember Me · Sorcery/sorcery Wiki · GitHub
Session Timeout
セキュリティー強化のため、サーバとの通信が一定時間なかった場合
自動でログアウトする機能です。
Session Timeout · Sorcery/sorcery Wiki · GitHub
Brute Force Protection
まずブルートフォースとは、ユーザーのアカウント、パスワードを解読するため
考えられる全てのパターンを試す方法のことです。
このサブモジュールはその攻撃から守るための機能です。
Brute force protection · Sorcery/sorcery Wiki · GitHub
Basic HTTP Authentication
HTTPベーシック認証の機能です。この認証とは、
ユーザー名とパスワードのセットをコロンで繋ぎ、
それ全体をBase64と呼ばれる方式で変換して作成します。
ベーシック認証をそのまま単体で使うと、
誰でも読める状態でユーザー名とパスワードが
インターネットを流れてしまうことには注意が必要です。
ほぼ全てのWebサーバーやブラウザで対応しているため広く使われています。
HTTP basic auth · Sorcery/sorcery Wiki · GitHub
Active Logging
最後にログインしたのはいつかなどの
アカウントアクティビティの記録をする機能です。
Activity logging · Sorcery/sorcery Wiki · GitHub