feathers-authentication-popups-github
v1.0.2
Published
Server plugin for GitHub OAuth2 popup-based login
Downloads
13
Maintainers
Readme
feathers-authentication-popups-github
Server plugin for implementing OAuth2 popup-based GitHub logins
Installation
npm install feathers-authentication-popups-github --save
Documentation
Please refer to the feathers-authentication-popups-github documentation for more details.
Complete Example
Here's an example of a Feathers server that uses feathers-authentication-popups-github
.
const feathers = require('feathers');
const rest = require('feathers-rest');
const hooks = require('feathers-hooks');
const bodyParser = require('body-parser');
const errorHandler = require('feathers-errors/handler');
const auth = require('feathers-authentication');
const githubAuth = require('feathers-authentication-popups-github');
// Initialize the application
const app = feathers()
.configure(rest())
.configure(hooks())
// Needed for parsing bodies (login)
.use(bodyParser.json())
.use(bodyParser.urlencoded({ extended: true }))
// Initialize your feathers plugin
.use(errorHandler());
// First you need a config
var config = {
"host": "localhost",
"port": 3030,
"public": "../public/",
"auth": {
"cookie": {
"name": "feathers-jwt",
"enabled": true,
"secure": false
},
"token": {
"secret": "your token secret here"
},
"jwt": {
"issuer": "feathers",
"algorithm": "HS256",
"expiresIn": "1d"
},
"user": {
"service": "/api/users",
"idField": "_id",
"usernameField": "email",
"passwordField": "password"
},
"local": {},
"github": {
"provider": "github",
"service": "auth/github",
"successRedirect": "/auth/success",
"callbackURL": "/auth/github/callback",
"clientID": "your client id from GitHub",
"clientSecret": "your client secret from GitHub",
"permissions": {
"scope": []
}
}
}
};
app.configure(auth())
// Enable GitHub popup-based OAuth.
.configure(githubAuth(config.github, config.cookie));
app.listen(3030);
console.log('Feathers app started on 127.0.0.1:3030');
License
Copyright (c) 2016
Licensed under the MIT license.