Catalyst::Authentication::Credential::OpenID がリリースされましたね

Catalyst::Authentication::Credential::OpenID - OpenID credential for Catalyst::Authentication framework. - search.cpan.org

http://search.cpan.org/~ashley/Catalyst-Authentication-Credential-OpenID-0.01/lib/Catalyst/Authentication/Credential/OpenID.pm

OpenID 2.0 もサポートしたもの。
残念ながら Catalyst::Plugin::Authentication::User::Hash しかサポートしていない。

そういう点では、CodeRepos に上がっているモジュールの方がいいと思う。

/lang/perl/Catalyst-Authentication-Credential-OpenID - CodeRepos::Share - Trac

http://coderepos.org/share/browser/lang/perl/Catalyst-Authentication-Credential-OpenID

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) からのリダイレクトでクエリが付いてくるのでこれで判断出来るんだけど、それで判断しろってことなのかなぁ?
「そういうもんだよ」って言うのであれば、「あっ、そういうもんなんだぁ」で納得するんですけどね。
どういうもんなんでしょうね?

Comments:0

Comment Form

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 の真偽...

Home > 仕事のこと > Catalyst::Authentication::Credential::OpenID がリリースされましたね

Search
Feeds

Return to page top