NAME

Plack::Middleware::Auth::OAuth2::ProtectedResource - middleware for OAuth 2.0 Protected Resource endpoint

SYNOPSIS

my $app = sub {...};
builder {
    enable "Plack::Middleware::Auth::OAuth2::ProtectedResource",
        data_handler => "YourApp::DataHandler",
        error_uri    => q{http://example.org/error/description};
    enable "Plack::Middleware::JSONP";
    enable "Plack::Middleware::ContentLength";
    $app;
};

# and on your controller
$plack_request->env->{REMOTE_USER};
$plack_request->env->{X_OAUTH_CLIENT_ID};
$plack_request->env->{X_OAUTH_SCOPE};

DESCRIPTION

middleware for OAuth 2.0 Protected Resource endpoint

METHODS

call( $env )

This method parses access token. If access token is valid, authorization information are set to environment variables.

ENV VALUES

After successful verifying authorization within middleware layer, Following 3 type of values are set in env.

REMOTE_USER

Identifier of user who grant the client to access the user's protected resource that is stored on service provider.

X_OAUTH_CLIENT

Identifier of the client that accesses to user's protected resource on beharf of the user.

X_OAUTH_SCOPE

Scope parameter that represents what kind of resources that the user grant client to access.

AUTHOR

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.