SDC の IdM 連載 (12): たとえば Ruby on Rails アプリケーションの SSO を OpenSSO にまかせてみる
(Translate to English)Wednesday Jun 18, 2008
再開したと思ったらまた先月落としてしまった SDC 連載 「アイデンティティ管理の基礎と応用」, 今月は OpenSSO の 「アイデンティティ・サービス」.
OpenSSOには、 その認証・認可機能やユーザ属性を外部のアプリケーションから利用するための Web サービス・インタフェースが備わっています。今回はこの 「アイデンティティ・サービス」 を用いて、 Ruby on Rails アプリケーションのログイン処理を OpenSSO と連携して行なう例をご紹介します。
アイデンティティ管理の基礎と応用(12):カスタム Web アプリケーションのログイン処理に OpenSSO を活用する
アイデンティティ・サービスの使いかたとして Ruby on Rails アプリケーションへの組み込み例 (application.rb) を紹介してるんだけど, Rails はおろか Ruby もまったくさわったことのなかった筆者 (くどう) が 「A_quick_and_dirty_homemade_authentication_solution in Ruby on Rails」 や Authenticate As Remote User plugin をみながら半日くらいで書いた全くイケてないコードなので, だれか添削してもらえたり, ついでにプラグイン化してくれたりするとうれしいす... (ずうずうしい)
なお, 本気でアイデンティティ・サービスを活用するのであれば
- 認証情報だけでなく認可情報も利用 (/identity/authorize)
- トークンの有効性確認 (/identity/isValidToken) や, 属性を問い合わせた結果 (/identity/attributes) のキャッシング
- ロギング (/identity/log)
- クロスドメインへの対応 (OpenSSO のログイン後の後処理をフックして, トークンを Cookie ではなくパラメータとしてブラウザからアプリケーションに POST させる, とか)
- 負荷分散 (/identity/getCookieNameForToken だけでなく /identity/getCookieNamesToForward も呼び出して, amlbcookie (ユーザのセッションがどの OpenSSO インスタンスに管理されてるかを示す Cookie) を得る)
など, 考慮すべきポイントはいろいろあるんだけど, なにはともあれ, とりあえず OpenSSO を入れて (超簡単), お手元のアプリケーション・フレームワークにてお試しいただければ幸いです.
Tags: article federatedaccessmanager identitymanagement opensso ruby rubyonrails sun












