This wrapper provides you simplified functionality to handle the Google OAuth2 process. The token is stored in the local storage and will be restored after page reload until you sign-out the user.
This module is considered to work in the browser and in Electron applications.
More information about the background process: https://developers.google.com/identity/protocols/OAuth2UserAgent
You can use the token for any Google REST API.
npm install --save js-google-auth
// Load module
import GoogleAuth from 'js-google-auth';
// Create new instance
const auth = new GoogleAuth({
clientId: 'your-google-client-id',
clientSecret: 'your-google-client-secret',
redirectUri: 'your-script-uri',
scope: 'https://www.googleapis.com/auth/contacts'
});
// Use methods
if (!auth.getToken()) {
auth.signIn();
} else {
console.log(`Token: ${auth.getToken()}`);
}
While creating a new instance, the constructor method is called.
Options:
- clientId -
string
to receive from the Google API console - clientSecret -
string
to receive from the Google API console - redirectUri -
string
to configure in the Google API console (not required for Electron) - scope -
string/array
one as string or more as array, see overview at Google (optional) - onTokenChange -
function
which is called on every token change (optional)
Example:
const auth = new GoogleAuth({
clientId: 'your-google-client-id',
clientSecret: 'your-google-client-secret',
redirectUri: 'your-script-uri',
scope: [
'https://www.googleapis.com/auth/contacts',
'https://www.googleapis.com/auth/drive'
],
onTokenChange: (token) => {
// Use this function to update the token
// for your custom API scripts.
// For our wrappers it is done automatically.
}
});
Returns token or null. Use this function to check if the user is signed-in or not.
Starts the sign-in process. In the browser with redirect, in Electron within a new browser window.
After successful sign-in, the credentials are stored in the local storage and restored after reload.
The callback function is optional.
Example:
auth.signIn((error) => {
if (error) console.error(error);
else console.log('signed-in');
})
Removes the credentials from the instance and from the local storage.