feat: authentication module refactor + added CAS module
This commit is contained in:
27
server/modules/authentication/oauth2/authentication.js
Normal file
27
server/modules/authentication/oauth2/authentication.js
Normal file
@@ -0,0 +1,27 @@
|
||||
/* global WIKI */
|
||||
|
||||
// ------------------------------------
|
||||
// OAuth2 Account
|
||||
// ------------------------------------
|
||||
|
||||
const OAuth2Strategy = require('passport-oauth2').Strategy
|
||||
|
||||
module.exports = {
|
||||
init (passport, conf) {
|
||||
passport.use('oauth2',
|
||||
new OAuth2Strategy({
|
||||
authorizationURL: conf.authorizationURL,
|
||||
tokenURL: conf.tokenURL,
|
||||
clientID: conf.clientId,
|
||||
clientSecret: conf.clientSecret,
|
||||
callbackURL: conf.callbackURL
|
||||
}, (accessToken, refreshToken, profile, cb) => {
|
||||
WIKI.db.users.processProfile(profile).then((user) => {
|
||||
return cb(null, user) || true
|
||||
}).catch((err) => {
|
||||
return cb(err, null) || true
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
9
server/modules/authentication/oauth2/definition.yml
Normal file
9
server/modules/authentication/oauth2/definition.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
key: oauth2
|
||||
title: OAuth2
|
||||
author: requarks.io
|
||||
useForm: false
|
||||
props:
|
||||
clientId: String
|
||||
clientSecret: String
|
||||
authorizationURL: String
|
||||
tokenURL: String
|
Reference in New Issue
Block a user