table of contents
| OAuth::Lite2::Server::Endpoint::Token(3pm) | User Contributed Perl Documentation | OAuth::Lite2::Server::Endpoint::Token(3pm) |
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:
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:
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.
| 2023-07-01 | perl v5.36.0 |