mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-14 21:27:23 +01:00
* Start adding google login * fix local js issue * implement syntax suggestions * fix delete social tests * Add service for authentication alerts * fix social login tests * make suggested google sign in changes * fix accidentally deleted code * refactor social network sign in * fix incorrect find * implement suggested google sign in changes * fix(tests): Inject fake Auth module for auth controller * fix(test): prevent social service from causing page reload * fix loading user info * Use lodash's implimentation of find for IE compatibility * chore: increase test coverage around deletion route * chore: clean up social auth test * chore: Fix social login tests * remove profile from login scope * fix(api): Allow social accounts to deregister as user has auth backup * temporarily disable google login button
29 lines
1.4 KiB
JavaScript
29 lines
1.4 KiB
JavaScript
import passport from 'passport';
|
|
import nconf from 'nconf';
|
|
import { Strategy as FacebookStrategy } from 'passport-facebook';
|
|
import { Strategy as GoogleStrategy } from 'passport-google-oauth20';
|
|
|
|
// Passport session setup.
|
|
// To support persistent login sessions, Passport needs to be able to
|
|
// serialize users into and deserialize users out of the session. Typically,
|
|
// this will be as simple as storing the user ID when serializing, and finding
|
|
// the user by ID when deserializing. However, since this example does not
|
|
// have a database of user records, the complete Facebook profile is serialized
|
|
// and deserialized.
|
|
passport.serializeUser((user, done) => done(null, user));
|
|
passport.deserializeUser((obj, done) => done(null, obj));
|
|
|
|
// TODO remove?
|
|
// This auth strategy is no longer used. It's just kept around for auth.js#loginFacebook() (passport._strategies.facebook.userProfile)
|
|
// The proper fix would be to move to a general OAuth module simply to verify accessTokens
|
|
passport.use(new FacebookStrategy({
|
|
clientID: nconf.get('FACEBOOK_KEY'),
|
|
clientSecret: nconf.get('FACEBOOK_SECRET'),
|
|
// callbackURL: nconf.get("BASE_URL") + "/auth/facebook/callback"
|
|
}, (accessToken, refreshToken, profile, done) => done(null, profile)));
|
|
|
|
passport.use(new GoogleStrategy({
|
|
clientID: nconf.get('GOOGLE_CLIENT_ID'),
|
|
clientSecret: nconf.get('GOOGLE_CLIENT_SECRET'),
|
|
}, (accessToken, refreshToken, profile, done) => done(null, profile)));
|