はじめに
今回はいよいよ,
さて,
- ユーザ登録
- サービスを利用するために必要な情報
(IDやメールアドレスなど) を利用者に入力してもらい, データベースへ登録する。 - ログイン
(認証) - 利用者が入力した認証情報
(パスワードなど) を元に利用者を認証し, ログインの可否を判定する。ログインに成功した利用者には, 認証済みであることを識別するための識別子 (セッションCookie) を発行する。 - セッション管理
- 利用者から送信されるセッションCookieを元に,
その利用者が認証済みであることを確認する。一定時間アクセスがない利用者はセッションを無効にする。 - アクセス制御
(認可) - 利用者がアクセス先のリソースへの権限を持っているかどうかを判定する。
- ログアウト
- セッションを破棄し利用者の認証状態を解除する。
- アカウント管理
- 利用者が登録した情報を変更できるようにする。パスワードの変更やパスワード紛失時の再発行も担当する。
いかがでしょうか。想像したよりも認証に必要となる機能は多岐に渡ります。OpenIDを使うことで,
なお,
RailsのOpenIDプラグイン(OpenID Authentication)
RailsにはOpenIDを用いてユーザを認証するためのOpenID Authenticationというプラグインが存在します。このプラグインはこの連載で紹介したruby-openidライブラリのラッパーです。OpenID Authenticationプラグインを使うことで,
Railsにはユーザ認証のためのプラグインがいくつか用意されています。Rails 1.
表1 認証プラグインの機能比較
Restful Authentication | OpenID Authentication | |
---|---|---|
ユーザ登録 | ○ | × |
ログイン | ○(パスワード) | ○(OpenID) |
セッション管理 | ○ | × |
アクセス制御 | △ | × |
ログアウト | ○ | × |
アカウント管理 | × | × |
とはいえ,