CatalystX-OAuth2
view release on metacpan or search on metacpan
lib/Catalyst/ActionRole/OAuth2/RequestAuth.pm view on Meta::CPAN
package Catalyst::ActionRole::OAuth2::RequestAuth;
use Moose::Role;
use Try::Tiny;
use URI;
use CatalystX::OAuth2::Request::RequestAuth;
# ABSTRACT: Authorization grant endpoint for OAuth2 authentication flows
with 'CatalystX::OAuth2::ActionRole::Grant';
has enable_client_secret => ( isa => 'Bool', is => 'ro', default => 0 );
sub build_oauth2_request {
my ( $self, $controller, $c ) = @_;
my $store = $controller->store;
my $req;
try {
$req = CatalystX::OAuth2::Request::RequestAuth->new(
%{ $c->req->query_parameters } );
$req->enable_client_secret($self->enable_client_secret);
$req->store($store);
}
catch {
$c->log->error($_);
# need to figure out a better way, but this will do for now
$c->res->body(qq{warning: response_type/client_id invalid or missing});
$c->detach;
};
return $req;
}
1;
__END__
=pod
=head1 NAME
Catalyst::ActionRole::OAuth2::RequestAuth - Authorization grant endpoint for OAuth2 authentication flows
=head1 VERSION
version 0.001009
=head1 SYNOPSIS
package AuthServer::Controller::OAuth2::Provider;
use Moose;
BEGIN { extends 'Catalyst::Controller::ActionRole' }
with 'CatalystX::OAuth2::Controller::Role::Provider';
__PACKAGE__->config(
store => {
class => 'DBIC',
client_model => 'DB::Client'
}
);
( run in 0.542 second using v1.01-cache-2.11-cpan-39bf76dae61 )