my $provider = $self->providers->{ $auth_info->{provider} };
- for ( qw/ consumer_key consumer_secret request_token_endpoint access_token_endpoint user_auth_endpoint / ) {
+ for ( qw/ consumer_key consumer_secret request_token_endpoint access_token_endpoint user_auth_endpoint extra_params / ) {
Catalyst::Exception->throw( $_ . " is not defined for provider ". $auth_info->{provider} )
unless $provider->{$_};
}
request_method => 'GET',
signature_method => 'HMAC-SHA1',
oauth_version => '1.0a',
- callback => $c->uri_for( $c->action, $c->req->captures, @{ $c->req->args } )->as_string
+ callback => $c->uri_for( $c->action, $c->req->captures, @{ $c->req->args } )->as_string,
+ ( defined $provider->{extra_params}
+ ? ( extra_params => $provider->{extra_params} )
+ : ()
+ ),
);
$c->log_debug( "authenticate() called from " . $c->request->uri ) if $self->debug;
if( $oauth_token ) {
- my $response = Net::OAuth->response( 'user auth' )->from_hash( $c->req->params );
+ my $response = Net::OAuth->response( 'user auth' )->from_hash( { %{$c->req->params}, %{$provider->{extra_params}} } );
my $request = Net::OAuth->request( 'access token' )->new(
%defaults,