Provided by: liboauth-lite2-perl_0.11-2_all
NAME
OAuth::Lite2::Server::Endpoint::Token - token endpoint PSGI application
SYNOPSIS
token_endpoint.psgi use strict; use warnings; use Plack::Builder; use OAuth::Lite2::Server::Endpoint::Token; use MyDataHandlerClass; builder { my $app = OAuth::Lite2::Server::Endpoint::Token->new( data_handler => 'MyDataHandlerClass', ); $app->support_grant_types(qw(authorization_code refresh_token)); $app; };
DESCRIPTION
The instance of this class behaves as a PSGI application (subroutine reference). This is for the OAuth 2.0 token-endpoint. The first thing you need to do is make your custom class, which inherits OAuth::Lite2::Server::DataHandler, and then setup the PSGI file referencing it.
METHODS
new( %params ) data_handler The name of your custom class that inherits the OAuth::Lite2::Server::DataHandler package. error_uri Optional. This URI indicates the page that should be presented on an error. This will be included in error responses. support_grant_type( $type ) Indicates support for a specific grant type. This does not remove previously supported grant types. The available values are: authorization_code password client_credentials refresh_token support_grant_types( @types ) Allows specification of multiple grant types at once. This is equivalent to calling support_grant_type once for each type in the list. The available values are: authorization_code password client_credentials refresh_token data_handler This returns the class that inherits the OAuth::Lite2::Server::DataHandler package. This is defined by the data_handler parameter of the constructor. psgi_app This returns a PSGI application. compile_psgi_app This will compile the PSGI application. handle_request( $req ) This will parse the access token request and call the data handler's method.
TEST
You can test with OAuth::Lite2::Agent::PSGIMock and some of the client classes. my $app = OAuth::Lite2::Server::Endpoint::Token->new( data_handler => 'MyDataHandlerClass', ); $app->support_grant_types(qw(authorization_code refresh_token)); my $mock_agent = OAuth::Lite2::Agent::PSGIMock->new(app => $app); my $client = OAuth::Lite2::Client::UsernameAndPassword->new( id => q{my_client_id}, secret => q{my_client_secret}, agent => $mock_agent, ); my $token = $client->get_access_token( username => q{foo}, password => q{bar}, ); ok($token); is($token->access_token, q{access_token_value});
AUTHOR
Ryo Ito, <ritou.06@gmail.com> Lyo Kato, <lyo.kato@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2010 by Lyo Kato This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.