@acceleratxr/passport-google
v1.0.0
Published
Passport strategy for authenticating with Google using the OAuth 2.0 API.
Downloads
68
Readme
passport-google
Passport strategy for authenticating with Google access tokens using the OAuth 2.0 API.
This module lets you authenticate using Google in your Node.js applications using the Passport framework.
Installation
npm install @acceleratxr/passport-google
or
yarn add @acceleratxr/passport-google
Usage
Configure Strategy
The Google authentication strategy authenticates users using a Google account and OAuth 2.0 tokens. The strategy
requires a verify
callback to perform a look up of the user account given a verified OAuth 2.0 token.
JavaScript
const GoogleStrategy = require('@acceleratxr/passport-google');
passport.use(new GoogleStrategy({
clientID: GOOGLE_APP_ID,
clientSecret: GOOGLE_APP_SECRET,
apiVersion: "v8"
}, function(accessToken, refreshToken, profile, done) {
User.findOrCreate({googleId: profile.id}, function (error, user) {
return done(error, user);
});
}
));
TypeScript
import { GoogleStrategy } from "@acceleratxr/passport-google";
passport.use(new GoogleStrategy({
clientID: GOOGLE_APP_ID,
clientSecret: GOOGLE_APP_SECRET,
apiVersion: "v8"
}, function(accessToken, refreshToken, profile, done) {
User.findOrCreate({googleId: profile.id}, function (error, user) {
return done(error, user);
});
}
));
Authenticate Requests
Use passport.authenticate()
, specifying google
as the strategy to authenticate requests.
app.post('/auth/google',
passport.authenticate('google'),
function (req, res) {
// do something with req.user
res.send(req.user? 200 : 401);
}
);
Client Requests
Clients can send requests to routes that use the passport-google strategy using query params. Clients must
transmit the code
, code_verifier
, and redirect_uri
parameters that are received after Google login. Clients
may also optionally transmit a state
parameter.
GET /auth/google?code=<TOKEN_HERE>&state=<STATE_HERE>&redirect_uri=<URI>&code_verifier=<CHALLENGE>