mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-19 01:35:18 -04:00
added auth/oauth2.ts
added oauth2 to ProviderEnum Signed-off-by: Philip Molares <philip.molares@udo.edu> Signed-off-by: David Mehren <dmehren1@gmail.com>
This commit is contained in:
parent
287148f1e8
commit
5a1a25dda4
5 changed files with 103 additions and 109 deletions
35
lib/web/auth/oauth2/index.ts
Normal file
35
lib/web/auth/oauth2/index.ts
Normal file
|
@ -0,0 +1,35 @@
|
|||
import { Router } from 'express'
|
||||
import passport from 'passport'
|
||||
|
||||
import { OAuth2CustomStrategy } from './oauth2-custom-strategy'
|
||||
import { config } from '../../../config'
|
||||
import { passportGeneralCallback } from '../utils'
|
||||
import { AuthMiddleware } from '../interface'
|
||||
|
||||
export const OAuth2Middleware: AuthMiddleware = {
|
||||
getMiddleware (): Router {
|
||||
const OAuth2Auth = Router()
|
||||
|
||||
passport.use(new OAuth2CustomStrategy({
|
||||
authorizationURL: config.oauth2.authorizationURL,
|
||||
tokenURL: config.oauth2.tokenURL,
|
||||
clientID: config.oauth2.clientID,
|
||||
clientSecret: config.oauth2.clientSecret,
|
||||
callbackURL: config.serverURL + '/auth/oauth2/callback',
|
||||
userProfileURL: config.oauth2.userProfileURL,
|
||||
scope: config.oauth2.scope
|
||||
}, passportGeneralCallback))
|
||||
|
||||
OAuth2Auth.get('/auth/oauth2', passport.authenticate('oauth2'))
|
||||
|
||||
// github auth callback
|
||||
OAuth2Auth.get('/auth/oauth2/callback',
|
||||
passport.authenticate('oauth2', {
|
||||
successReturnToOrRedirect: config.serverURL + '/',
|
||||
failureRedirect: config.serverURL + '/'
|
||||
})
|
||||
)
|
||||
|
||||
return OAuth2Auth
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue