Social Login for you expressjs apps in the easiest way
Social Login for you expressjs apps in the easiest way
Allows login to Facebook, Github, Google, Instagram, Linkedin, Pinterest, Steam and Twitter.
// npm install easy-login --save
yarn add easy-login
import express from 'express';
import easyLogin from 'easy-login';
import log from 'log-decorator';
import UserModel from './models/UserModel';
const app = express();
easyLogin({
UserModel: UserModel,
app: app,
providersConfig: {
facebook: {
facebookId: process.env.FACEBOOK_ID,
facebookSecret: process.env.FACEBOOK_SECRET,
scope: ['read_stream', 'publish_actions']
},
google: true
}
});
The package easy-login automatically generates two routes to have social login in your application:
/auth/facebook
/auth/facebook/callback
For this you need pass to easy login an instance of your express application and a user model like that:
import mongoose from 'mongoose';
/**
* User Schema
*/
const userSchema = new mongoose.Schema({
name: { type: String, index: true },
email: { type: String, unique: true, index: true },
password: { type: String },
facebook: { type: String },
twitter: { type: String },
google: { type: String },
github: { type: String },
instagram: { type: String },
linkedin: { type: String },
steam: { type: String },
profile: {
name: { type: String },
gender: { type: String },
location: { type: String },
website: { type: String },
picture: { type: String }
}
});
/**
* Registration
*/
const User = mongoose.model('User', userSchema);
module.exports = User;