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!
Puches
Happy Coding!Created by
John Rodkey
Copyright © 2017 Vroom, Inc.
All Rights Reserved