logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

LWP::Authen::OAuth2::AccessToken - Access tokens for OAuth2.

Authors

       •   Ben Tilly, <btilly at gmail.com>

       •   Thomas Klausner <domm@plix.at>

Methods

"from_ref"
       Construct an access token from a hash reference.  The default implementation merely blesses it as an
       object, defaulting the "create_time" field to the current time.

           my $access_token = $class->from_ref($data);

       If you roll your own, be aware that the fields "refresh_token" and "_class" get used for purposes out of
       this class' control.  Any other fields may be used.  Please die fatally if you cannot construct an
       object.

   "to_ref"
       Construct an unblessed data structure to represent the object that can be serialized as JSON.  The
       default implementation just creates a shallow copy and assumes there are no blessed subobjects.

   "expires_time"
       Estimate expiration time.  Not always correct, due to transit delays, clock skew, etc.

   "expires_in"
       Estimate the seconds until expiration.  Not always correct, due to transit delays, clock skew, etc.

   "should_refresh"
       Boolean saying whether a refresh should be emitted now.

   "for_refresh"
       Returns key/value pairs for $oauth2 (and eventually the service provider class) to use in trying to
       refresh.

   "copy_refresh_from"
       Pass in a previous access token, copy anything needed to refresh.

   "request"
       Make a request.  If expiration is detected, refreshing by the best available method (if any).

           my $response = $access_token->request($oauth2, @request_for_lwp);

   "_request"
       Make a request with no retry logic, and return a response, and a flag for whether it is possible the
       access token is expired..

           my ($response, $try_refresh)
               = $access_token->_request($oauth2, @request_for_lwp);

       THISISTHEONLYMETHODASUBCLASSMUSTOVERRIDE!

Name

       LWP::Authen::OAuth2::AccessToken - Access tokens for OAuth2.

Synopsis

       This is a base class for signing API requests with OAuth2 access tokens.  A subclass should override the
       "request" method with something that knows how to make a request, detect the need to try to refresh, and
       attmpts to do that.  See lWP::Authen::OAuth2::AccessToken::Bearer for an example.

       Subclasses of this one are not directly useful.  Please see LWP::Authen::OAuth2 for the interface that
       you should be using.

Version

       version 0.20

See Also