NAME
OAuth::Lite2::Server::Error - OAuth 2.0 server errors
SYNOPSIS
# At End-User Endpoint
try
{
if
(
$something_wrong
) {
OAuth::Lite2::Server::Error::InvalidRequest->throw(
description
=>
q{Something wrong}
,
# state => q{foo},
);
}
}
catch
{
if
(
$_
->isa(
"OAuth::Lite2::Server::Error"
)) {
my
$uri
= URI->new(
$client_callback_uri
);
my
%error_params
= (
error
=>
$_
->type );
$error_params
{error_description} =
$_
->description
if
$_
->description;
$error_params
{state} =
$_
->state
if
$_
->state;
$uri
->query_form(
%error_params
);
$your_app
->redirect(
$uri
->as_string );
}
else
{
# Internal Server Error
}
};
# At token-endpoint
try
{
}
catch
{
if
(
$_
->isa(
"OAuth::Lite2::Server::Error"
)) {
my
%error_params
= (
error
=>
$_
->type );
$error_params
{error_description} =
$_
->description
if
$_
->description;
$error_params
{scope} =
$_
->scope
if
$_
->scope;
$req
->new_response(
$_
->code,
[
"Content-Type"
=>
$formatter
->type,
"Cache-Control"
=>
"no-store"
],
[
$formatter
->
format
(\
%error_params
) ],
);
}
else
{
# rethrow
die
$_
;
}
};
DESCRIPTION
OAuth 2.0 error classes.
See http://tools.ietf.org/html/draft-ietf-oauth-v2-09, http://tools.ietf.org/html/rfc6749,
METHODS
There are following errors
ERRORS
- OAuth::Lite2::Server::Error::InvalidRequest
- OAuth::Lite2::Server::Error::InvalidClient
- OAuth::Lite2::Server::Error::RedirectURIMismatch
- OAuth::Lite2::Server::Error::AccessDenied
- OAuth::Lite2::Server::Error::UnsupportedResponseType
- OAuth::Lite2::Server::Error::UnsupportedResourceType
- OAuth::Lite2::Server::Error::InvalidGrant
- OAuth::Lite2::Server::Error::UnsupportedGrantType
- OAuth::Lite2::Server::Error::InvalidScope
- OAuth::Lite2::Server::Error::InvalidToken
- OAuth::Lite2::Server::Error::ExpiredTokenLegacy
- OAuth::Lite2::Server::Error::ExpiredToken
- OAuth::Lite2::Server::Error::InsufficientScope
- OAuth::Lite2::Server::Error::InvalidServerState
- OAuth::Lite2::Server::Error::ServerError
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.