Catalyst::Authentication::Credential::Flickr - Flickr authentication for Catalyst
In MyApp.pm
use Catalyst qw/ Authentication Session Session::Store::FastMmap Session::State::Cookie /; MyApp->config( "Plugin::Authentication" => { default_realm => "flickr", realms => { flickr => { credential => { class => "Flickr", }, key => 'flickr-key-here', secret => 'flickr-secret-here', perms => 'read', }, }, }, );
And then in your Controller:
sub login : Local { my ($self, $c) = @_; my $realm = $c->get_auth_realm('flickr'); $c->res->redirect( $realm->credential->authenticate_flickr_url($c) ); }
And finally the callback you specified in your API key request (e.g. example.com/flickr/ ):
sub flickr : Local { my ($self, $c) = @_; $c->authenticate(); $c->res->redirect("/super/secret/member/area"); }
When Catalyst::Plugin::Authentication 0.10 was released, the API had changed, resulting in broken code for some of my projects. They claim to have some backward compatibility however, so it was most likely just my own bad coding that broke stuff.
Anyways, Catalyst::Plugin::Authentication::Credential::Flickr didn't do what I wanted it to do and so I decided to rewrite the code, based on the new API.
This version tries to follow the guidelines of the new API and should almost be a drop in replacement for C::P::Authentication::Credential::Flickr. Well, at least code changes are kept to a minimal.
As per guidelines of Catalyst::Plugin::Authentication, there are two mandatory methods, new and authenticate. Since this is not really enough for the Flickr API, I've added one more (and an alias).
new
authenticate
Will not be called by you directly, but will use the configuration you provide (see above). Mandatory parameters are key, secret and perms. Please see Flickr::API for more details on them.
key
secret
perms
This method will return the authentication URL. Bounce your users there before calling the authentication method.
authentication
Alias for request_auth_url ('cause C::P::Authentication::Credential::Flickr used to call the method like this).
request_auth_url
Handles the authentication. Nothing more, nothing less.
M. Blom <blom@cpan.org> http://menno.b10m.net/perl/
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
Catalyst::Plugin::Authentication, Flickr::API
Bugs? Impossible!. Please report bugs to http://rt.cpan.org/Ticket/Create.html?Queue=Catalyst-Authentication-Credentials-Flickr
Bugs? Impossible!
Thanks go out Daisuke Murase for writing C::P::A::Credential::Flickr, Ashley Pond for inspiration and help in C::A::Credential::OpenID, Cal Henderson for Flickr::API.
To install Catalyst::Authentication::Credential::Flickr, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catalyst::Authentication::Credential::Flickr
CPAN shell
perl -MCPAN -e shell install Catalyst::Authentication::Credential::Flickr
For more information on module installation, please visit the detailed CPAN module installation guide.