NAME
Net::OAuth2::AuthorizationServer::ImplicitGrant - OAuth2 Resource Owner Implicit Grant
You "SHOULD NOT" use this grant type (see <https://tools.ietf.org/html/draft-ietf-oauth-security-topics-15>)
SYNOPSIS
my $Grant = Net::OAuth2::AuthorizationServer::ImplicitGrant->new(clients => {TrendyNewService => {# optionalredirect_uri => 'https://...',# optionalscopes => {post_images => 1,annoy_friends => 1,},},});# verify a client against known clientsmy ( $is_valid,$error,$scopes ) = $Grant->verify_client(client_id => $client_id,redirect_uri => $uri, # optionalscopes => [ qw/ list of scopes / ], # optional);if ( ! $Grant->login_resource_owner ) {# resource owner needs to login...}# have resource owner confirm (and perhaps modify) scopesmy ( $confirmed,$error,$scopes_ref ) = $Grant->confirm_by_resource_owner(client_id => $client_id,scopes => [ qw/ list of scopes / ],);# generate a tokenmy $token = $Grant->token(client_id => $client_id,scopes => $scopes_ref,redirect_uri => $redirect_uri,user_id => $user_id, # optionaljwt_claims_cb => sub { ... }, # optional, see jwt_claims_cb in Manual);# store access token$Grant->store_access_token(client_id => $client,access_token => $access_token,scopes => $scopes_ref,);# verify an access tokenmy ( $is_valid,$error ) = $Grant->verify_access_token(access_token => $access_token,scopes => $scopes_ref,);
DESCRIPTION
This module implements the OAuth2 "Resource Owner Implicit Grant" flow as described at <http://tools.ietf.org/html/rfc6749#section-4.2>.
CONSTRUCTOR ARGUMENTS
Along with those detailed at "CONSTRUCTOR ARGUMENTS" in Net::OAuth2::AuthorizationServer::Manual the following are supported by this grant type:
CALLBACK FUNCTIONS
The following callbacks are supported by this grant type:
verify_client_cblogin_resource_owner_cbconfirm_by_resource_owner_cbstore_access_token_cbverify_access_token_cb
Please see "CALLBACK FUNCTIONS" in Net::OAuth2::AuthorizationServer::Manual for documentation on each callback function.
AUTHOR
Lee Johnson - "[email protected]"
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. If you would like to contribute documentation or file a bug report then please raise an issue / pull request:
https://github.com/Humanstate/net-oauth2-authorizationserver