An OAuth2 authentication strategy for feathers-authentication using Passport
npm install @feathersjs/authentication-oauth2 --save
Note: This is only compatibile with [email protected]
and above.
const feathers = require('@feathersjs/feathers');
const authentication = require('feathers-authentication');
const jwt = require('feathers-authentication-jwt');
const oauth2 = require('@feathersjs/authentication-oauth2');
const FacebookStrategy = require('passport-facebook').Strategy;
const app = feathers();
// Setup authentication
app.configure(authentication(settings));
app.configure(jwt());
app.configure(oauth2({
name: 'facebook',
Strategy: FacebookStrategy,
clientID: '<your client id>',
clientSecret: '<your client secret>',
scope: ['public_profile', 'email']
}));
// Setup a hook to only allow valid JWTs to authenticate
// and get new JWT access tokens
app.service('authentication').hooks({
before: {
create: [
authentication.hooks.authenticate(['jwt'])
]
}
});
Please refer to the @feathersjs/authentication-oauth2 API documentation for more details.
Copyright (c) 2018
Licensed under the MIT license.