mirror of https://github.com/Requarks/wiki.git
4 changed files with 43 additions and 98 deletions
Split View
Diff Options
-
5server/models/authentication.js
-
32server/modules/authentication/oauth2/authentication.js
-
58server/modules/authentication/oauth2/definition.yml
-
46server/modules/authentication/oidc/definition.yml
@ -1,32 +0,0 @@ |
|||
/* 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, |
|||
passReqToCallback: true |
|||
}, async (req, accessToken, refreshToken, profile, cb) => { |
|||
try { |
|||
const user = await WIKI.models.users.processProfile({ |
|||
providerKey: req.params.strategy, |
|||
profile |
|||
}) |
|||
cb(null, user) |
|||
} catch (err) { |
|||
cb(err, null) |
|||
} |
|||
}) |
|||
) |
|||
} |
|||
} |
@ -1,58 +0,0 @@ |
|||
key: oauth2 |
|||
title: Generic OAuth2 |
|||
description: OAuth 2 is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service. |
|||
author: requarks.io |
|||
logo: https://static.requarks.io/logo/oauth2.svg |
|||
color: grey darken-4 |
|||
website: https://oauth.net/2/ |
|||
isAvailable: true |
|||
useForm: false |
|||
props: |
|||
clientId: |
|||
type: String |
|||
title: Client ID |
|||
hint: Application Client ID |
|||
order: 1 |
|||
clientSecret: |
|||
type: String |
|||
title: Client Secret |
|||
hint: Application Client Secret |
|||
order: 2 |
|||
authorizationURL: |
|||
type: String |
|||
title: Authorization Endpoint URL |
|||
hint: The full URL to the authorization endpoint, used to get an authorization code. |
|||
order: 3 |
|||
tokenURL: |
|||
type: String |
|||
title: Token Endpoint URL |
|||
hint: The full URL to the token endpoint, used to get an access token. |
|||
order: 4 |
|||
mappingUID: |
|||
title: Unique ID Field Mapping |
|||
type: String |
|||
default: 'id' |
|||
hint: The field storing the user unique identifier, e.g. "id" or "_id". |
|||
maxWidth: 500 |
|||
order: 20 |
|||
mappingEmail: |
|||
title: Email Field Mapping |
|||
type: String |
|||
default: 'email' |
|||
hint: The field storing the user email, e.g. "email" or "mail". |
|||
maxWidth: 500 |
|||
order: 21 |
|||
mappingDisplayName: |
|||
title: Display Name Field Mapping |
|||
type: String |
|||
default: 'name' |
|||
hint: The field storing the user display name, e.g. "name", "displayName" or "username". |
|||
maxWidth: 500 |
|||
order: 22 |
|||
mappingPicture: |
|||
title: Avatar Picture Field Mapping |
|||
type: String |
|||
default: 'pictureUrl' |
|||
hint: The field storing the user avatar picture, e.g. "pictureUrl" or "avatarUrl". |
|||
maxWidth: 500 |
|||
order: 23 |
Write
Preview
Loading…
Cancel
Save