Yanick Champoux > Dancer-Plugin-Auth-Twitter-0.03 > Dancer::Plugin::Auth::Twitter

Download:
Dancer-Plugin-Auth-Twitter-0.03.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.03   Source  

NAME ^

Dancer::Plugin::Auth::Twitter - Authenticate with Twitter

VERSION ^

version 0.03

SYNOPSIS ^

    package SomeDancerApp;
    use Dancer ':syntax';
    use Dancer::Plugin::Auth::Twitter;

    auth_twitter_init();

    before sub {
        if (not session('twitter_user')) {
            redirect auth_twitter_authenticate_url;
        }
    };

    get '/' => sub {
        "welcome, ".session('twitter_user')->{'screen_name'};
    };

    get '/fail' => sub { "FAIL" };

    ...

CONCEPT ^

This plugin provides a simple way to authenticate your users through Twitter's OAuth API. It provides you with a helper to build easily a redirect to the authentication URI, defines automatically a callback route handler and saves the authenticated user to your session when done.

PREREQUESITES ^

In order for this plugin to work, you need the following:

EXPORT ^

The plugin exports the following symbols to your application's namespace:

twitter

The plugin uses a Net::Twitter object to do its job. You can access this object with the twitter symbol, exported by the plugin.

auth_twitter_init

This function should be called before your route handlers, in order to initialize the underlying Net::Twitter object. It will read your configuration and create a new Net::Twitter instance.

auth_twitter_authorize_url

This function returns an authorize URI for redirecting unauthenticated users. You should use this in a before filter like the following:

    before sub {
        # we don't want to bounce for ever!
        return if request->path =~ m{/auth/twitter/callback};
    
        if (not session('twitter_user')) {
            redirect auth_twitter_authorize_url();
        }
    };

When the user authenticate with Twitter's OAuth interface, she's going to be bounced back to /auth/twitter/callback.

auth_twitter_authenticate_url

Similar to auth_twitter_authorize_url, but this function instead returns an authenticate instead of authorize URI for redirecting unauthenticated users, which results in a slightly different behaviour.

See https://dev.twitter.com/pages/sign_in_with_twitter|here to learn about the differences.

ROUTE HANDLERS ^

The plugin defines the following route handler automatically

/auth/twitter/callback

This route handler is responsible for catching back a user that has just authenticated herself with Twitter's OAuth. The route handler saves tokens and user information in the session and then redirects the user to the URI specified by callback_success.

If the validation of the token returned by Twitter failed or was denied, the user will be redirect to the URI specified by callback_fail.

ACKNOWLEDGEMENTS ^

This plugin has been written as a port of Catalyst::Authentication::Credential::Twitter written by Jesse Stay.

This plugin was part of the Perl Dancer Advent Calendar 2010.

AUTHORS ^

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2010 by Alexis Sukrieh.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: