Discord auth

This commit is contained in:
Eliot Partridge
2019-08-30 10:34:14 -05:00
parent ef316acfe4
commit 326063bc95
2 changed files with 10 additions and 1 deletions
+9
View File
@@ -8,6 +8,7 @@ import { Strategy as FacebookStrategy } from '@passport-next/passport-facebook';
import { Strategy as GithubStrategy } from 'passport-github2';
import { Strategy as VKontakteStrategy } from 'passport-vkontakte';
import { Strategy as PatreonStrategy } from 'passport-patreon';
import { Strategy as DiscordStrategy } from 'passport-discord';
import { Profile } from '../common/interfaces';
import { PATREON_COLOR } from '../common/colors';
import { colorToCSS } from '../common/color';
@@ -87,6 +88,12 @@ const providerList: OAuthProviderInfo[] = [
color: colorToCSS(PATREON_COLOR),
strategy: PatreonStrategy,
},
{
id: 'discord',
name: 'Discord',
color: '#7289DA',
strategy: DiscordStrategy,
},
];
providerList.forEach(p => p.auth = config.oauth[p.id]);
@@ -101,6 +108,8 @@ export function getProfileUrl(profile: OAuthProfile): string | undefined {
return `http://${profile.username}.tumblr.com/`;
} else if (profile.provider === 'facebook') {
return `http://www.facebook.com/${profile.id}`;
} else if (profile.provider === 'discord') {
return undefined;
} else if (profile._json.attributes && profile._json.attributes.url) { // patreon
return profile._json.attributes.url;
} else {
+1 -1
View File
@@ -239,7 +239,7 @@ export function authRoutes(
providers.filter(p => !!p.auth).forEach(({ id, strategy, auth, connectOnly, additionalOptions = {} }) => {
const callbackURL = `${host}auth/${id}/callback`;
const scope = id === 'patreon' ? ['users'] : ['email'];
const scope = id === 'patreon' ? ['users'] : id === 'discord' ? ['identify', 'email'] : ['email'];
const options = {
...additionalOptions,
...auth,