From 2df8e1687b0d1b58e72dd318fcf1d44a4da44efb Mon Sep 17 00:00:00 2001 From: Yannick Bungers Date: Mon, 13 Apr 2020 13:34:44 +0200 Subject: [PATCH] Refactored google to Typescript Signed-off-by: Yannick Bungers Signed-off-by: David Mehren --- lib/web/auth/google/index.js | 27 --------------------------- lib/web/auth/google/index.ts | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 27 deletions(-) delete mode 100644 lib/web/auth/google/index.js create mode 100644 lib/web/auth/google/index.ts diff --git a/lib/web/auth/google/index.js b/lib/web/auth/google/index.js deleted file mode 100644 index 6edf07a93..000000000 --- a/lib/web/auth/google/index.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict' - -const Router = require('express').Router -const passport = require('passport') -var GoogleStrategy = require('passport-google-oauth20').Strategy -const config = require('../../../config') -const { passportGeneralCallback } = require('../utils') - -let googleAuth = module.exports = Router() - -passport.use(new GoogleStrategy({ - clientID: config.google.clientID, - clientSecret: config.google.clientSecret, - callbackURL: config.serverURL + '/auth/google/callback', - userProfileURL: 'https://www.googleapis.com/oauth2/v3/userinfo' -}, passportGeneralCallback)) - -googleAuth.get('/auth/google', function (req, res, next) { - passport.authenticate('google', { scope: ['profile'], hostedDomain: config.google.hostedDomain })(req, res, next) -}) -// google auth callback -googleAuth.get('/auth/google/callback', - passport.authenticate('google', { - successReturnToOrRedirect: config.serverURL + '/', - failureRedirect: config.serverURL + '/' - }) -) diff --git a/lib/web/auth/google/index.ts b/lib/web/auth/google/index.ts new file mode 100644 index 000000000..7962da64d --- /dev/null +++ b/lib/web/auth/google/index.ts @@ -0,0 +1,31 @@ +import { Router } from 'express' +import { AuthMiddleware } from '../interface' +import passport from 'passport' +import * as GoogleStrategy from 'passport-google-oauth20' +import {config} from '../../../config' +import { passportGeneralCallback } from '../utils' + +const googleAuth = Router() + +export const GoogleMiddleware: AuthMiddleware = { + getMiddleware (): Router { + passport.use(new GoogleStrategy({ + clientID: config.google.clientID, + clientSecret: config.google.clientSecret, + callbackURL: config.serverURL + '/auth/google/callback', + userProfileURL: 'https://www.googleapis.com/oauth2/v3/userinfo' + }, passportGeneralCallback)) + + googleAuth.get('/auth/google', function (req, res, next) { + const authOpts: GoogleStrategy.AuthtenticateOptionsGoogle = { scope: ['profile'], hostedDomain: config.google.hostedDomain } + passport.authenticate('google', authOpts)(req, res, next) + }) + googleAuth.get('/auth/google/callback', + passport.authenticate('google', { + successReturnToOrRedirect: config.serverURL + '/', + failureRedirect: config.serverURL + '/' + }) + ) + return googleAuth + } +}