RAILS PRESS RUBY on RAILS, it’s DRY and COOL …

RSS Feed

RAILS PRESS RSS

Tag Cloud

はてなブックマーク - railspress.matake.jp の注目エントリー
象形文字くさび形文字ミイラそろばんの玉そろばんコーラン占いの板?象牙大英博物館
« 前の3件
Tagged by OpenID

Posted on
2008/11/26

Tags
Gem, OpenID, iKnow!, ノウハウ

0 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

iKnow! の OpenID で XRI をサポート & ruby-openid を日本語 XRI 対応に

昨日 OpenID Foundation Japan で NRI の崎村さんに「iKnow! の OpenID は XRI をサポートしてないですね」ってなことを言われたらしいので、iKnow! の OpenID を XRI に対応させました。

OpenID Authentication Plugin の XRI 対応は RailsのOpenID Authentication PluginをXRI対応にする方法 に書きましたが、OpenID::Yadis::XRI.identifier_scheme というメソッドが既にあったので、今回はそれを使いました。

LANG : RUBY
  1. module OpenIdAuthentication
  2.   # XRI support
  3.   def self.normalize_url_with_xri(identifier)
  4.     case OpenID::Yadis::XRI.identifier_scheme(identifier)
  5.     when :xri : identifier
  6.     when :uri : normalize_url_without_xri(identifier)
  7.     end
  8.   end
  9.   class <<self
  10.     alias_method :normalize_url_without_xri, :normalize_url
  11.     alias_method :normalize_url, :normalize_url_with_xri
  12.   end
  13. end

で、久しぶりに @freexri に行ってみたら、「=名前*nov」とかとれるようになってました。いつのまにか XRI って日本語も使えるようになってるんですね。日本語 XRI は微妙だけど、一応対応しておきました。

ruby-openid が日本語 XRI に対応してなかったので、OpenID::Yadis::XRI.escape_for_iri_with_multibyte をちょっと変更する必要があります。

LANG : RUBY
  1. module OpenID::Yadis::XRI
  2.   def self.escape_for_iri_with_multibyte(xri)
  3.     esc = escape_for_iri_without_multibyte(xri)
  4.     esc.gsub!(/([\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3})/e) { |char_match|
  5.       CGI::escape(char_match)
  6.     }
  7.     return esc
  8.   end
  9.   class <<self
  10.     alias_method :escape_for_iri_without_multibyte, :escape_for_iri
  11.     alias_method :escape_for_iri, :escape_for_iri_with_multibyte
  12.   end
  13. end

これで OK なはずですが...

» このエントリーには続きがあります。続きを読む »


Posted on
2008/04/20

Tags
OpenID, Plugin, ノウハウ

1 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

RailsのOpenID Authentication PluginをXRI対応にする方法

Railsコアチームが開発しているOpenID Authentication PluginがOpenID 2.0に対応しました。(これで以前のようにPatchを当てる必要もなくなる♪)

ただ、まだOpenId Authentication PluginはXRIでのログインには対応していないようなので、OpenID Authentication PluginをXRIに対応させてみました。

Gemで入るruby-openid 2.0.4は、軽くソースを眺めた感じではXRIにも対応しているようなので、OpenId Authentication Pluginのconsumer.beginにXRIを渡してやればいけるはず!ということで、変更点はnormalize_urlメソッドのみ。

RAILS_ROOT/vendor/plugins/openid_authentication/lib/openid_authentication.rb

のnormarize_urlを編集します。

» このエントリーには続きがあります。続きを読む »


Posted on
2008/02/22

Tags
OpenID, ノウハウ

0 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

OpenIDでプロフィール情報を受け取る際のフォーマット(openid.sreg.*)

OpenID.ne.jpなどでは、ユーザがIdP側で公開設定しているプロフィール情報を、サービス側が取得することができます。その時にプロフィール項目のフォーマットが決まっているようなので、メモしておきます。

なお、これらの情報を取得できるかどうかは、ユーザがプロフィールを登録しているかどうかと、ユーザがそれぞれの項目を公開する設定にしているかどうかに依存します。

openid.sreg.nickname:

ユーザのニックネーム。UTF-8の任意の文字列。

openid.sreg.email:

ユーザのメールドレス。[RFC2822]の3.4.1節で規定されている形式。

openid.sreg.fullname:

ユーザのフルネーム。UTF-8の任意の文字列。

openid.sreg.dob:

ユーザのバースデー。YYYY-MM-DD形式の日付データで必ず10桁。未設定の項目がある場合は、0で埋められる。(例1:1981年生まれで生まれた月日を公開していない場合は「1981-00-00」、生まれた年も公開されてない場合は「0000-00-00」)

openid.sreg.gender:

ユーザの性別。男なら「M」/女なら「F」という文字。

openid.sreg.postcode:

ユーザの郵便番号。UTF-8のフリーテキスト。国により異なるが、それぞれの国の郵便番号フォーマットに適合することが推奨されている。

openid.sreg.country:

ユーザの居住する国。ISO3166で規定されている形式。

openid.sreg.language:

ユーザの推奨言語(≒母国語?)。ISO639で規定されている形式。

openid.sreg.timezone:

TimeZoneデータベース内のいずれかのASCII文字列。(例:"Europe/Paris", "America/Los_Angeles")

(情報源:OpenID Simple Registration Extension 1.0


« 前の3件
OpenIDタグ