Catalyst::Plugin::Authentication::Credential::OpenID - OpenID credential for Catalyst::Auth framework
use Catalyst qw/ Authentication Authentication::Credential::OpenID Session Session::Store::FastMmap Session::State::Cookie /; # MyApp.yaml -- optional authentication: openid: use_session: 1 user_class: MyApp::M::User::OpenID # whatever in your Controller pm sub default : Private { my($self, $c) = @_; if ($c->user_exists) { ... } } sub signin_openid : Local { my($self, $c) = @_; if ($c->authenticate_openid) { $c->res->redirect( $c->uri_for('/') ); } } # foo.tt <form action="[% c.uri_for('/signin_openid') %]" method="GET"> <input type="text" name="openid_url" class="openid" /> <input type="submit" value="Sign in with OpenID" /> </form>
Catalyst::Plugin::Authentication::Credential::OpenID is an OpenID credential for Catalyst::Plugin::Authentication framework.
$c->authenticate_openid;
Call this method in the action you'd like to authenticate the user via OpenID. Returns 0 if auth is not successful, and 1 if user is authenticated.
User class specified with user_class config, which defaults to Catalyst::Plugin::Authentication::User::Hash, will be instantiated with the following parameters.
By default, authenticate_openid method looks for claimed URI parameter from the form field named openid_url, openid_identifier or claimed_uri. If you want to use another form field name, call it like:
openid_url
openid_identifier
claimed_uri
$c->authenticate_openid( $c->req->param('myopenid_param') );
See Net::OpenID::VerifiedIdentity for details.
There's already Catalyst::Plugin::Authentication::OpenID (Auth::OpenID) and this plugin tries to deprecate it.
Don't use this plugin with Auth::OpenID since method names will conflict and your app won't work.
Auth::OpenID uses your root path (/) as an authentication callback but this plugin uses the current path, which means you can use this plugin with other Credential plugins, like Flickr or TypeKey.
This plugin is NOT a drop-in replacement for Auth::OpenID, but your app needs only slight modifications to work with this one.
This plugin is based on Catalyst authentication framework, which means you can specify user_class or auth_store in your app config and this modules does the right thing, like other Credential modules. This crates new User object if authentication is successful, and works with Session too.
Six Apart, Ltd. <cpan@sixapart.com>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Catalyst::Plugin::Authentication::OpenID, Catalyst::Plugin::Authentication::Credential::Flickr
To install Catalyst::Plugin::Authentication::Credential::OpenID, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catalyst::Plugin::Authentication::Credential::OpenID
CPAN shell
perl -MCPAN -e shell install Catalyst::Plugin::Authentication::Credential::OpenID
For more information on module installation, please visit the detailed CPAN module installation guide.