mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-18 17:25:16 -04:00
Merge pull request #278 from elespike/master
Add OIDC scopes for email & profile retrieval
This commit is contained in:
commit
4104f9835d
6 changed files with 10 additions and 5 deletions
|
@ -145,7 +145,7 @@ these are rarely used for various reasons.
|
||||||
|
|
||||||
| variables | example values | description |
|
| variables | example values | description |
|
||||||
| --------- | ------ | ----------- |
|
| --------- | ------ | ----------- |
|
||||||
| `oauth2` | `{baseURL: ..., userProfileURL: ..., userProfileUsernameAttr: ..., userProfileDisplayNameAttr: ..., userProfileEmailAttr: ..., tokenURL: ..., authorizationURL: ..., clientID: ..., clientSecret: ...}` | An object detailing your OAuth2 provider. Refer to the [Mattermost](guides/auth/mattermost-self-hosted.md) or [Nextcloud](guides/auth/nextcloud.md) examples for more details!|
|
| `oauth2` | `{baseURL: ..., userProfileURL: ..., userProfileUsernameAttr: ..., userProfileDisplayNameAttr: ..., userProfileEmailAttr: ..., tokenURL: ..., authorizationURL: ..., clientID: ..., clientSecret: ..., scope: ...}` | An object detailing your OAuth2 provider. Refer to the [Mattermost](guides/auth/mattermost-self-hosted.md) or [Nextcloud](guides/auth/nextcloud.md) examples for more details!|
|
||||||
|
|
||||||
### SAML Login
|
### SAML Login
|
||||||
|
|
||||||
|
|
|
@ -165,6 +165,7 @@ defaultNotePath can't be set from env-vars
|
||||||
| `CMD_OAUTH2_AUTHORIZATION_URL` | `https://example.com` | authorization URL of your provider, please refer to the documentation of your OAuth2 provider (no default value) |
|
| `CMD_OAUTH2_AUTHORIZATION_URL` | `https://example.com` | authorization URL of your provider, please refer to the documentation of your OAuth2 provider (no default value) |
|
||||||
| `CMD_OAUTH2_CLIENT_ID` | `afae02fckafd...` | you will get this from your OAuth2 provider when you register CodiMD as OAuth2-client, (no default value) |
|
| `CMD_OAUTH2_CLIENT_ID` | `afae02fckafd...` | you will get this from your OAuth2 provider when you register CodiMD as OAuth2-client, (no default value) |
|
||||||
| `CMD_OAUTH2_CLIENT_SECRET` | `afae02fckafd...` | you will get this from your OAuth2 provider when you register CodiMD as OAuth2-client, (no default value) |
|
| `CMD_OAUTH2_CLIENT_SECRET` | `afae02fckafd...` | you will get this from your OAuth2 provider when you register CodiMD as OAuth2-client, (no default value) |
|
||||||
|
| `CMD_OAUTH2_SCOPE` | `openid email profile` | The requested OAuth2/OIDC scopes, which are privileges that CodiMD can exercise on behalf of the user. Default is `openid email profile`, in order to retrieve user email/profile information via the user profile URL. |
|
||||||
| `CMD_OAUTH2_PROVIDERNAME` | `My institution` | Optional name to be displayed at login form indicating the oAuth2 provider |
|
| `CMD_OAUTH2_PROVIDERNAME` | `My institution` | Optional name to be displayed at login form indicating the oAuth2 provider |
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -92,7 +92,8 @@ module.exports = {
|
||||||
authorizationURL: undefined,
|
authorizationURL: undefined,
|
||||||
tokenURL: undefined,
|
tokenURL: undefined,
|
||||||
clientID: undefined,
|
clientID: undefined,
|
||||||
clientSecret: undefined
|
clientSecret: undefined,
|
||||||
|
scope: 'openid email profile'
|
||||||
},
|
},
|
||||||
facebook: {
|
facebook: {
|
||||||
clientID: undefined,
|
clientID: undefined,
|
||||||
|
|
|
@ -87,7 +87,8 @@ module.exports = {
|
||||||
tokenURL: process.env.CMD_OAUTH2_TOKEN_URL,
|
tokenURL: process.env.CMD_OAUTH2_TOKEN_URL,
|
||||||
authorizationURL: process.env.CMD_OAUTH2_AUTHORIZATION_URL,
|
authorizationURL: process.env.CMD_OAUTH2_AUTHORIZATION_URL,
|
||||||
clientID: process.env.CMD_OAUTH2_CLIENT_ID,
|
clientID: process.env.CMD_OAUTH2_CLIENT_ID,
|
||||||
clientSecret: process.env.CMD_OAUTH2_CLIENT_SECRET
|
clientSecret: process.env.CMD_OAUTH2_CLIENT_SECRET,
|
||||||
|
scope: process.env.CMD_OAUTH2_SCOPE
|
||||||
},
|
},
|
||||||
dropbox: {
|
dropbox: {
|
||||||
clientID: process.env.CMD_DROPBOX_CLIENTID,
|
clientID: process.env.CMD_DROPBOX_CLIENTID,
|
||||||
|
|
|
@ -76,7 +76,8 @@ module.exports = {
|
||||||
tokenURL: process.env.HMD_OAUTH2_TOKEN_URL,
|
tokenURL: process.env.HMD_OAUTH2_TOKEN_URL,
|
||||||
authorizationURL: process.env.HMD_OAUTH2_AUTHORIZATION_URL,
|
authorizationURL: process.env.HMD_OAUTH2_AUTHORIZATION_URL,
|
||||||
clientID: process.env.HMD_OAUTH2_CLIENT_ID,
|
clientID: process.env.HMD_OAUTH2_CLIENT_ID,
|
||||||
clientSecret: process.env.HMD_OAUTH2_CLIENT_SECRET
|
clientSecret: process.env.HMD_OAUTH2_CLIENT_SECRET,
|
||||||
|
scope: process.env.HMD_OAUTH2_SCOPE
|
||||||
},
|
},
|
||||||
dropbox: {
|
dropbox: {
|
||||||
clientID: process.env.HMD_DROPBOX_CLIENTID,
|
clientID: process.env.HMD_DROPBOX_CLIENTID,
|
||||||
|
|
|
@ -89,7 +89,8 @@ passport.use(new OAuth2CustomStrategy({
|
||||||
clientID: config.oauth2.clientID,
|
clientID: config.oauth2.clientID,
|
||||||
clientSecret: config.oauth2.clientSecret,
|
clientSecret: config.oauth2.clientSecret,
|
||||||
callbackURL: config.serverURL + '/auth/oauth2/callback',
|
callbackURL: config.serverURL + '/auth/oauth2/callback',
|
||||||
userProfileURL: config.oauth2.userProfileURL
|
userProfileURL: config.oauth2.userProfileURL,
|
||||||
|
scope: config.oauth2.scope
|
||||||
}, passportGeneralCallback))
|
}, passportGeneralCallback))
|
||||||
|
|
||||||
oauth2Auth.get('/auth/oauth2', function (req, res, next) {
|
oauth2Auth.get('/auth/oauth2', function (req, res, next) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue