Catalyst-Authentication-Credential-Twitter
view release on metacpan or search on metacpan
sub callback : Local {
my ($self, $c) = @_;
if (my $user = $c->authenticate(undef,'twitter')) {
# user has an account - redirect or do something cool
$c->res->redirect("/super/secret/member/area");
}
else {
# user doesn't have an account - either detect Twitter
# credentials and create one, or return an error.
#
# Note that "request_token" and "request_token_secret"
# are stored in $c->user_session as hashref variables under
# the same names
}
}
DESCRIPTION
This module handles Twitter API authentication in a Catalyst
application.
README.mkdn view on Meta::CPAN
```perl
sub callback : Local {
my ($self, $c) = @_;
if (my $user = $c->authenticate(undef,'twitter')) {
# user has an account - redirect or do something cool
$c->res->redirect("/super/secret/member/area");
}
else {
# user doesn't have an account - either detect Twitter
# credentials and create one, or return an error.
#
# Note that "request_token" and "request_token_secret"
# are stored in $c->user_session as hashref variables under
# the same names
}
}
```
# DESCRIPTION
lib/Catalyst/Authentication/Credential/Twitter.pm view on Meta::CPAN
# this is in case we need to register the user after the oauth process
$c->user_session->{'access_token'} = $access_token;
$c->user_session->{'access_token_secret'} = $access_token_secret;
}
# get the user
$self->_twitter->access_token($access_token);
$self->_twitter->access_token_secret($access_token_secret);
my $twitter_user_hash = eval {
$self->_twitter->verify_credentials;
};
if ($@ || !$twitter_user_hash) {
$c->log->debug("no twitter_user_hash or error: ".$@);
return undef;
}
$twitter_user_hash->{'access_token'} = $access_token;
$twitter_user_hash->{'access_token_secret'} = $access_token_secret;
lib/Catalyst/Authentication/Credential/Twitter.pm view on Meta::CPAN
sub callback : Local {
my ($self, $c) = @_;
if (my $user = $c->authenticate(undef,'twitter')) {
# user has an account - redirect or do something cool
$c->res->redirect("/super/secret/member/area");
}
else {
# user doesn't have an account - either detect Twitter
# credentials and create one, or return an error.
#
# Note that "request_token" and "request_token_secret"
# are stored in $c->user_session as hashref variables under
# the same names
}
}
=head1 DESCRIPTION
This module handles Twitter API authentication in a Catalyst application.
t/basic_app.t view on Meta::CPAN
access_token => 'alpha',
access_token_secret => 'beta',
},
{
id => 'wilfred',
access_token => 'delta',
access_token_secret => 'gamma',
},
);
$twitter->mock( 'verify_credentials' => sub {
return shift @users;
} );
# all used by TestApp
for my $plugin ( qw/
Authentication
Session
Session::State::Cookie
/ ) {
t/fail_callback.t view on Meta::CPAN
my $twitter = Test::MockObject->new;
$twitter->fake_module( 'Net::Twitter' );
$twitter->fake_new( 'Net::Twitter' );
#$twitter->set_always( get_authentication_url => 'http://twit/auth' );
#$twitter->set_always( request_token => 'abc' );
#$twitter->set_always( request_token_secret => 'hush' );
#$twitter->set_always( request_access_token => 'request_access_token' );
#$twitter->set_always( access_token => 'access_token' );
#$twitter->set_always( access_token_secret => 'access_token_secret' );
0 and $twitter->mock( 'verify_credentials' => sub {
# return shift @users;
} );
# all used by TestApp
for my $plugin ( qw/
Authentication
Session
Session::State::Cookie
/ ) {
t/no_per_user.t view on Meta::CPAN
my $twitter = Test::MockObject->new;
$twitter->fake_module( 'Net::Twitter' );
$twitter->fake_new( 'Net::Twitter' );
$twitter->set_always( get_authorization_url => 'http://twit/auth' );
$twitter->set_always( request_token => 'abc' );
$twitter->set_always( request_token_secret => 'hush' );
$twitter->set_always( request_access_token => 'request_access_token' );
$twitter->set_always( access_token => 'access_token' );
$twitter->set_always( access_token_secret => 'access_token_secret' );
$twitter->mock( 'verify_credentials' => sub {
return {
access_token => 'alpha',
access_token_secret => 'beta',
};
} );
# all used by TestApp
for my $plugin ( qw/
Authentication
( run in 0.395 second using v1.01-cache-2.11-cpan-4d50c553e7e )