NAME¶
Catalyst::Plugin::Authentication::Credential::OpenID - OpenID credential for
Catalyst::Auth framework
SYNOPSIS¶
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>
DESCRIPTION¶
Catalyst::Plugin::Authentication::Credential::OpenID is an OpenID credential for
Catalyst::Plugin::Authentication framework.
METHODS¶
- authenticate_openid
-
$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:
$c->authenticate_openid( $c->req->param('myopenid_param') );
- url
- display
- rss
- atom
- foaf
- declared_rss
- declared_atom
- declared_foaf
- foafmaker
See Net::OpenID::VerifiedIdentity for details.
DIFFERENCE WITH Authentication::OpenID¶
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.
AUTHOR¶
Six Apart, Ltd. <cpan@sixapart.com>
LICENSE¶
This library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
SEE ALSO¶
Catalyst::Plugin::Authentication::OpenID,
Catalyst::Plugin::Authentication::Credential::Flickr