- 2008年4月 6日 19:25
- 仕事のこと
OpenID 2.0 もサポートしたもの。
残念ながら Catalyst::Plugin::Authentication::User::Hash しかサポートしていない。
そういう点では、CodeRepos に上がっているモジュールの方がいいと思う。
/lang/perl/Catalyst-Authentication-Credential-OpenID - CodeRepos::Share - Trac
CodeRepos の方は Catalyst::Authentication::Store::DBIx::Class も使えるところがいい。そこはいいんだけど、OP(IdP) での認証に成功してリダイレクトで戻ってきた後の $realm->find_user の真偽で authentication の真偽を決めてしまうのが個人的に微妙なところ。
Net::OpenID::Consumer をアプリから直接触っていれば OP(IdP) での認証が出来たのか、出来なかったのかの判断が出来るんですけど CodeRepos のやつで Catalyst::Authentication::Store::DBIx::Class を使うとその判断が出来ない。
OP(IdP) での認証が出来てさらに $c->find_user でアプリの DB からユーザが SELECT 出来たか否かで authentication の真偽が決まる。そこまでやっちゃう。
CPAN の方は Catalyst::Plugin::Authentication::User::Hash なので(今はこれしか使えない) OP(IdP) で認証出来たら $realm->find_user で Catalyst::Authentication::User::Hash オブジェクトを作るし、認証出来なかったら作らない。要するに、$c->user で Catalyst::Authentication::User::Hash が取れれば OP(IdP) での認証は成功しているということ。
OP(IdP) からのリダイレクトでクエリが付いてくるのでこれで判断出来るんだけど、それで判断しろってことなのかなぁ?
「そういうもんだよ」って言うのであれば、「あっ、そういうもんなんだぁ」で納得するんですけどね。
どういうもんなんでしょうね?
- Newer: Catalyst と DBIC と mysql でレプリケーション
- Older: レプリケーションの構築
Comments:0
Trackbacks:1
- TrackBack URL for this entry
- http://hibinokoto.jp/mt/mt-tb.cgi/264
- Listed below are links to weblogs that reference
- Catalyst::Authentication::Credential::OpenID がリリースされましたね from 日々のこと
- [catalyst][openid]Cred::OpenID と find_user from masaki@catalyst 2008-04-06 (日) 22:24
- OP(IdP) での認証に成功してリダイレクトで戻ってきた後の $realm->find_user の真偽で authentication の真偽...