Identity Management (IdM) and Modern Evergreen Music

SDC の IdM 連載 (12): たとえば Ruby on Rails アプリケーションの SSO を OpenSSO にまかせてみる

(Translate to English)

Wednesday Jun 18, 2008

アイデンティティ管理の基礎と応用(12):カスタム Web アプリケーションのログイン処理に OpenSSO を活用する

再開したと思ったらまた先月落としてしまった 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 を入れて (超簡単), お手元のアプリケーション・フレームワークにてお試しいただければ幸いです.

Like this post? del.icio.us | furl | slashdot | technorati | digg
Comments:

Post a Comment:
Comments are closed for this entry.
« 香辣蓮花白 @ 同源楼 | Main | 小道具としての「職務分掌リポート」 »