NAME
WebService::GoogleAPI::Client::AuthStorage::GapiJSON - Auth Storage Backend based on gapi.json
VERSION
version 0.24_001
SYNOPSIS
This class provides an auth backend for gapi.json files produced with the provided goauth script. This is used for user credentials. For service accounts, please see WebService::GoogleAPI::Client::AuthStorage::ServiceAccount.
In future versions, I hope to provide the functionality of goauth as a Mojolicious::Plugin, so you can provide this flow in your app rather than having to run it offline.
This class mixes in WebService::GoogleAPI::Client::AuthStorage, and provides all attributes and methods from that role. As noted there, the ua
is usually managed by the WebService::GoogleAPI::Client object this is set on.
ATTRIBUTES
path
The location of the gapi.json file. Default to gapi.json in the current directory.
tokensfile
A Config::JSON object that contains the parsed gapi.json file. Authomatically set at object instantiation.
METHODS
get_access_token
Returns the access token for the current user.
refresh_access_token
This will refresh the access token for the currently set user
. Will write the new token back into the gapi.json file.
If you don't have a refresh token for that user, it will die with the following message:
If your credentials are missing the refresh_token - consider removing the auth at https://myaccount.google.com/permissions as The oauth2 server will only ever mint one refresh token at a time, and if you request another access token via the flow it will operate as if you only asked for an access token.
get_from_storage
A method to get stored fields from the gapi.json file. Will retrieve tokens for the current user, and other fields from the global config.
scopes
Read-only accessor returning the list of scopes configured in the gapi.json file.
AUTHORS
Veesh Goldman <veesh@cpan.org>
Peter Scott <localshop@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2017-2021 by Peter Scott and others.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004