-
entry001354
comments
Ruby on Rails で OpenID - 麦酒堂 の続きです。
さきほどは はてな の OpenID を利用しました。 今回は mixi OpenID を利用してみます。
認証を行うだけなら、はてな も mixi も大差ありません。 外部アプリケーションのログイン画面にて "mixi.jp" と入力し、遷移先の mixi にログインするだけです。 mixi の場合はこれに加えて拡張属性 SREG に対応しています。 この仕組みを利用して、外部アプリケーションから mixi ニックネームの取得が可能です。
ニックネームを取得するには、先ほど編集した authn_controller.rb に対して、次の変更を加えます。
まず、SREG を扱うためのライブラリーを読み込みます。
require "openid/extensions/sreg"
リクエストに SREG 要求を追加します。
sreg_request = OpenID::SReg::Request.new sreg_request.request_fields(['nickname'], true) request.add_extension(sreg_request)レスポンスから SREG の拡張属性を読み出します。
sreg_response = OpenID::SReg::Response::from_success_response(response) flash[:notice] = "Logged in as #{sreg_response['nickname']}"以上の変更で、mixi からニックネームを取得してログイン画面に表示されるようになります。
MTEntryMore
トラックバックする
http://mt.mizba.net/system/tb.cgi/1339
コメントを登録する
麦酒堂ではコメントスパムを防止するために,いただいたコメントは管理人が手動でサイトに反映しております.
反映までしばらく時間がかかりますので予めご了承ください.