forked from ppfun/pixelplanet
update to passport-google-oauth2
catch oauth2 errors
This commit is contained in:
parent
7f345aa640
commit
6c5993e12c
904
package-lock.json
generated
904
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
|
@ -42,7 +42,7 @@
|
||||||
"passport": "^0.6.0",
|
"passport": "^0.6.0",
|
||||||
"passport-discord": "^0.1.4",
|
"passport-discord": "^0.1.4",
|
||||||
"passport-facebook": "^3.0.0",
|
"passport-facebook": "^3.0.0",
|
||||||
"passport-google-oauth": "^2.0.0",
|
"passport-google-oauth2": "^0.2.0",
|
||||||
"passport-json": "^1.2.0",
|
"passport-json": "^1.2.0",
|
||||||
"passport-reddit": "^0.2.4",
|
"passport-reddit": "^0.2.4",
|
||||||
"passport-vkontakte": "^0.5.0",
|
"passport-vkontakte": "^0.5.0",
|
||||||
|
|
|
@ -10,9 +10,8 @@ import { Strategy as DiscordStrategy } from 'passport-discord';
|
||||||
import { Strategy as RedditStrategy } from 'passport-reddit';
|
import { Strategy as RedditStrategy } from 'passport-reddit';
|
||||||
import { Strategy as FacebookStrategy } from 'passport-facebook';
|
import { Strategy as FacebookStrategy } from 'passport-facebook';
|
||||||
import { Strategy as VkontakteStrategy } from 'passport-vkontakte';
|
import { Strategy as VkontakteStrategy } from 'passport-vkontakte';
|
||||||
import { OAuth2Strategy as GoogleStrategy } from 'passport-google-oauth';
|
import { Strategy as GoogleStrategy } from 'passport-google-oauth2';
|
||||||
|
|
||||||
import logger from './logger';
|
|
||||||
import { sanitizeName } from '../utils/validation';
|
import { sanitizeName } from '../utils/validation';
|
||||||
|
|
||||||
import { RegUser } from '../data/sql';
|
import { RegUser } from '../data/sql';
|
||||||
|
@ -120,10 +119,14 @@ passport.use(new FacebookStrategy({
|
||||||
proxy: true,
|
proxy: true,
|
||||||
profileFields: ['displayName', 'email'],
|
profileFields: ['displayName', 'email'],
|
||||||
}, async (req, accessToken, refreshToken, profile, done) => {
|
}, async (req, accessToken, refreshToken, profile, done) => {
|
||||||
|
try {
|
||||||
const { displayName: name, emails } = profile;
|
const { displayName: name, emails } = profile;
|
||||||
const email = emails[0].value;
|
const email = emails[0].value;
|
||||||
const user = await oauthLogin(email, name);
|
const user = await oauthLogin(email, name);
|
||||||
done(null, user);
|
done(null, user);
|
||||||
|
} catch (err) {
|
||||||
|
done(err);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -134,7 +137,7 @@ passport.use(new DiscordStrategy({
|
||||||
callbackURL: '/api/auth/discord/return',
|
callbackURL: '/api/auth/discord/return',
|
||||||
proxy: true,
|
proxy: true,
|
||||||
}, async (accessToken, refreshToken, profile, done) => {
|
}, async (accessToken, refreshToken, profile, done) => {
|
||||||
logger.info({ profile, refreshToken, accessToken });
|
try {
|
||||||
const { id, email, username: name } = profile;
|
const { id, email, username: name } = profile;
|
||||||
if (!email) {
|
if (!email) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
|
@ -144,6 +147,9 @@ passport.use(new DiscordStrategy({
|
||||||
}
|
}
|
||||||
const user = await oauthLogin(email, name, id);
|
const user = await oauthLogin(email, name, id);
|
||||||
done(null, user);
|
done(null, user);
|
||||||
|
} catch (err) {
|
||||||
|
done(err);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -154,10 +160,14 @@ passport.use(new GoogleStrategy({
|
||||||
callbackURL: '/api/auth/google/return',
|
callbackURL: '/api/auth/google/return',
|
||||||
proxy: true,
|
proxy: true,
|
||||||
}, async (accessToken, refreshToken, profile, done) => {
|
}, async (accessToken, refreshToken, profile, done) => {
|
||||||
|
try {
|
||||||
const { displayName: name, emails } = profile;
|
const { displayName: name, emails } = profile;
|
||||||
const email = emails[0].value;
|
const email = emails[0].value;
|
||||||
const user = await oauthLogin(email, name);
|
const user = await oauthLogin(email, name);
|
||||||
done(null, user);
|
done(null, user);
|
||||||
|
} catch (err) {
|
||||||
|
done(err);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -168,7 +178,7 @@ passport.use(new RedditStrategy({
|
||||||
callbackURL: '/api/auth/reddit/return',
|
callbackURL: '/api/auth/reddit/return',
|
||||||
proxy: true,
|
proxy: true,
|
||||||
}, async (accessToken, refreshToken, profile, done) => {
|
}, async (accessToken, refreshToken, profile, done) => {
|
||||||
logger.info({ profile, refreshToken, accessToken });
|
try {
|
||||||
const redditid = profile.id;
|
const redditid = profile.id;
|
||||||
let name = sanitizeName(profile.name);
|
let name = sanitizeName(profile.name);
|
||||||
// reddit needs an own login strategy based on its id,
|
// reddit needs an own login strategy based on its id,
|
||||||
|
@ -201,6 +211,9 @@ passport.use(new RedditStrategy({
|
||||||
const user = new User();
|
const user = new User();
|
||||||
await user.initialize(reguser.id, null, reguser);
|
await user.initialize(reguser.id, null, reguser);
|
||||||
done(null, user);
|
done(null, user);
|
||||||
|
} catch (err) {
|
||||||
|
done(err);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -213,7 +226,7 @@ passport.use(new VkontakteStrategy({
|
||||||
scope: ['email'],
|
scope: ['email'],
|
||||||
profileFields: ['displayName', 'email'],
|
profileFields: ['displayName', 'email'],
|
||||||
}, async (accessToken, refreshToken, params, profile, done) => {
|
}, async (accessToken, refreshToken, params, profile, done) => {
|
||||||
logger.info(profile);
|
try {
|
||||||
const { displayName: name } = profile;
|
const { displayName: name } = profile;
|
||||||
const { email } = params;
|
const { email } = params;
|
||||||
if (!email) {
|
if (!email) {
|
||||||
|
@ -224,6 +237,9 @@ passport.use(new VkontakteStrategy({
|
||||||
}
|
}
|
||||||
const user = await oauthLogin(email, name);
|
const user = await oauthLogin(email, name);
|
||||||
done(null, user);
|
done(null, user);
|
||||||
|
} catch (err) {
|
||||||
|
done(err);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user