No Password Management

    @acceleratxr/passport-google
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    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>
    

    Keywords

    none

    Install

    npm i @acceleratxr/passport-google

    DownloadsWeekly Downloads

    5

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    19 kB

    Total Files

    8

    Last publish

    Collaborators

    • acceleratxr