Net::OpenID::ServerのOpenID 2.0対応patch update
前回からupdate
http://nomadscafe.jp/tmp/openid_server_20_20080303.patch
id:miyagawaと話して、APIは前回のget_identityでいいんじゃないかとなったので、方向性は変わらずで、
面倒なのでsha1だけのサポートにして、pod追加して、test足した。
limilic、fastladder、pibb、plaxo、livejournal、ついついツイッターあたりでも検証しました
Catalystのsampleみたいなのを書いておきます
my $server = Net::OpenID::Server->new( post_args => $c->req->params, get_args => $c->req->params, endpoint_url => $c->uri_for('/server'), setup_url => $c->uri_for('/login'), get_user => sub { return $c->user_exists ? $c->user : undef; }, get_identity => sub { my( $u, $identity ) = @_; return $identity unless $u; return $c->uri_for( sprintf('/user/%s', $u->username ) ); }, is_identity => sub { my($u, $identity) = @_; return $u && $u->username eq (split '/', $identity)[-1]; }, is_trusted => sub { my($u, $trust_root, $is_identity) = @_; return $is_identity; } ); my ( $type, $data ) = $server->handle_page(); if ( $type eq 'redirect' ) { return $c->res->redirect($data); } elsif ( $type eq 'setup' ) { my $uri = $c->uri_for('/login', $data ); return $c->res->redirect($uri); } else { $c->res->content_type($type); $c->res->body($data); }
created by blog.nomadscafe.jp
コメント
コメントはありません
コメントを投稿
コメントを投稿するにはログインが必要です