@vroomlabs/react-gauth-button
v1.1.8
Published
Vroom Auth Button Using Google Auth
Downloads
7
Readme
Vroom Auth Login w/Google
Install
npm install @vroomlabs/react-gauth-button
How to use
import React from 'react';
import ReactDom from 'react-dom';
import VroomAuthLogin from '@vroomlabs/react-gauth-button';
const authResponse = (response) {
console.log(response)
}
ReactDom.render(
<VroomAuthLogin
clientId="someid.apps.googleusercontent.com"
buttonText="Sign In"
onSuccess={authResponse}
onFailure={authResponse}
/>,
document.getElementById('vroom-auth')
);
Component can accept child components (e.g., icons)
onSuccess callback
If offlineMode is false, callback will return the GoogleUser object.
If offlineMode is true, callback will return the offline GoogleAuth Code for use on the server.
Hosted Domain is defaulted to vroom.com
, make sure to validate the id_token (a JWT) returned by Google in your service:
- The
authResponse(response){...}
callback function will return a JWT asresponse.hg.id_token
- Send the JWT to the backend service (suggest using
Auth
header) - Recommendation: Backend service should verify the id_token by using a JWT library, jsonwebtoken. Use Google's public key to verify the token's signature
- The returned decoded token should have an
hd
key value equal to the hosted domain specified.
hd = hosted domain
Args
| arg | type | default | note |
|:-----------------:|:--------:|:----------------------:|:-----------------------------------------------------------------------------------------------------------:|
| clientid | string | REQUIRED - none | |
| hostedDomain | string | vroom.com | |
| scope | string | none | Google scopes can be found here |
| offlineMode | boolean | false | |
| onSuccess | function | REQUIRED - none | |
| onFailure | function | REQUIRED - none | |
| onRequest | function | none | |
| buttonText | string | Sign In with Google | |
| className | string | none | |
| style | object | none | |
| disabledStyle | object | none | |
| loginHint | string | none | |
| prompt | string | none | |
| tag | string | button | Set element tag (e.g., button, a, div, span) |
| authLoad | boolean | false | |
| fetchBasicProfile | boolean | true | |
| disabled | boolean | false | |
| uiMode | string | popup | Alternative is uiMode=redirect
after login. redirectUri
needed if set |
| redirectUri | string | none | Must be set if uiMode=redirect
|
| isSignedIn | boolean | none | Will return GoogleUser object, if user has granted permission for your app |
onSuccess callback - Auth Code
| property name | value | definition | |:-------------:|:-------:|:-------------:| | code | object | offline token |
onSuccess callback - Token (Default)
Provides GAuth User Object with access to GoogleUser methods.
Returned values
| property name | value | definition |
|:-------------:|:-------:|:-------------:|
| googleId | string | GAuth User ID |
| tokenId | string | Token ID |
| accessToken | string | Access Token |
| tokenObject | object | Token object |
| profileObject | object | User Profile object |
onFailure callback
| property name | value | definition | |:-------------:|:-------:|:---------------:| | error | string | error code | | details | string | error message |
Issues / Feedback
Please report any issues and suggest feedback through the repo! I hope you find the VroomAuth component useful and would be happy to give guidance on getting you going!
Happy Coding!
Puches
Created by
John Rodkey
Copyright © 2017 Vroom, Inc.
All Rights Reserved