oracular (3) OAuth::Lite2::Server::Endpoint::Token.3pm.gz

Provided by: liboauth-lite2-perl_0.11-3_all bug

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 (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.