"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!