1.5.6 • Published 6 years ago

passport-hapi-oauth v1.5.6

Weekly downloads
3,206
License
MIT
Repository
github
Last release
6 years ago

Passport Hapi OAuth

NPM

A simple wrapper to work as a connector between passport js OAuth strategies and the hapi request api.

It is configured to work with following OAuth providers: Google, Outlook and Facebook.

Make sure your app has enough permissions for OAuth login (e.g. Any application that calls Google APIs needs to enable APIs in the API Console).

Install

$ npm install passport-hapi-oauth --save

Usage


Instantiation

import HapiPassport from 'passport-hapi-oauth';

// simple
const googleOAuth = new HapiPassport('GoogleStrategy', {
	clientID: 'YOUR_CLIENT_ID',
	clientSecret: 'YOUR_CLIENT_SECRET',
	callbackURL: 'YOUR_CALLBACK_URL'
});

// advanced
const googleOAuth = new HapiPassport('GoogleStrategy', {
	clientID: 'YOUR_CLIENT_ID',
	clientSecret: 'YOUR_CLIENT_SECRET',
	callbackURL: 'YOUR_CALLBACK_URL'
}, {scope: ['email', 'profile', 'openid']});
argumentsvalues
strategy(required)GoogleStrategy, OutlookStrategy or FacebookStrategy
config (required){ clientID: 'YOUR_APP_ID', clientSecret: 'YOUR_APP_SECRET', callbackURL: 'YOUR_CALLBACK_URL'}
scope* (optional){ scope: 'SCOPE_1' , 'SCOPE_2' , ... }

*Read OAuth provider permissions to understand what scopes can be used.


Route Hanlders

1st route to sign in:

server.route({
    method: 'GET',
    path: '/auth/google',
    handler: (request, reply) => {
        googleOAuth.authenticate(request, (url) => {
            // set reply and then redirect
            reply({
                status: 'success'
            }).redirect(url);
        });
    }
});

2nd route to handle callbacks:

server.route({
    method: 'GET',
    path: '/auth/google/login/callback',
    handler: (request, reply) => {
        googleOAuth.authenticateCallBack(request, (err, userData) => {
            if (err) {
                // handle error
            } else {
                // AuthProvider login successful
                // parse userData and authenticate user								
            }
        });
    }
});
1.5.6

6 years ago

1.5.5

7 years ago

1.5.4

7 years ago

1.5.3

7 years ago

1.5.2

7 years ago

1.5.1

7 years ago

1.5.0

7 years ago

1.4.0

7 years ago

1.3.0

7 years ago

1.2.3

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.8

7 years ago

1.1.7

7 years ago

1.1.6

7 years ago

1.1.5

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago