Merge branch 'google-oauth'

See https://github.com/codimd/server/pull/265
This commit is contained in:
Sheogorath 2020-02-09 13:48:26 +01:00
commit d5ae45b268
No known key found for this signature in database
GPG key ID: C9B1C80737B9CE18
7 changed files with 13 additions and 5 deletions

View file

@ -132,6 +132,10 @@
"description": "Google API client secret", "description": "Google API client secret",
"required": false "required": false
}, },
"CMD_GOOGLE_HOSTEDDOMAIN": {
"description": "Google API hosted domain (Provided only if the user belongs to a hosted domain)",
"required": false
},
"CMD_IMGUR_CLIENTID": { "CMD_IMGUR_CLIENTID": {
"description": "Imgur API client id", "description": "Imgur API client id",
"required": false "required": false

View file

@ -134,7 +134,7 @@ these are rarely used for various reasons.
| variables | example values | description | | variables | example values | description |
| --------- | ------ | ----------- | | --------- | ------ | ----------- |
| `google` | `{clientID: ..., clientSecret: ...}` | An object containing the client ID and the client secret obtained by the [Google API console](https://console.cloud.google.com/apis) | | `google` | `{clientID: ..., clientSecret: ..., hostedDomain: ...}` | An object containing the client ID and the client secret obtained by the [Google API console](https://console.cloud.google.com/apis) |
### LDAP Login ### LDAP Login

View file

@ -135,6 +135,7 @@ defaultNotePath can't be set from env-vars
| -------- | ------------- | ----------- | | -------- | ------------- | ----------- |
| `CMD_GOOGLE_CLIENTID` | no example | Google API client id | | `CMD_GOOGLE_CLIENTID` | no example | Google API client id |
| `CMD_GOOGLE_CLIENTSECRET` | no example | Google API client secret | | `CMD_GOOGLE_CLIENTSECRET` | no example | Google API client secret |
| `CMD_GOOGLE_HOSTEDDOMAIN` | `example.com` | Provided only if the user belongs to a hosted domain. default is `undefined` |
### LDAP Login ### LDAP Login

View file

@ -124,7 +124,8 @@ module.exports = {
}, },
google: { google: {
clientID: undefined, clientID: undefined,
clientSecret: undefined clientSecret: undefined,
hostedDomain: undefined
}, },
ldap: { ldap: {
providerName: undefined, providerName: undefined,

View file

@ -53,7 +53,8 @@ if (fs.existsSync(basePath)) {
}, },
google: { google: {
clientID: getSecret('google_clientID'), clientID: getSecret('google_clientID'),
clientSecret: getSecret('google_clientSecret') clientSecret: getSecret('google_clientSecret'),
hostedDomain: getSecret('google_hostedDomain')
}, },
imgur: getSecret('imgur_clientid') imgur: getSecret('imgur_clientid')
} }

View file

@ -101,7 +101,8 @@ module.exports = {
}, },
google: { google: {
clientID: process.env.CMD_GOOGLE_CLIENTID, clientID: process.env.CMD_GOOGLE_CLIENTID,
clientSecret: process.env.CMD_GOOGLE_CLIENTSECRET clientSecret: process.env.CMD_GOOGLE_CLIENTSECRET,
hostedDomain: process.env.CMD_GOOGLE_HOSTEDDOMAIN
}, },
ldap: { ldap: {
providerName: process.env.CMD_LDAP_PROVIDERNAME, providerName: process.env.CMD_LDAP_PROVIDERNAME,

View file

@ -16,7 +16,7 @@ passport.use(new GoogleStrategy({
}, passportGeneralCallback)) }, passportGeneralCallback))
googleAuth.get('/auth/google', function (req, res, next) { googleAuth.get('/auth/google', function (req, res, next) {
passport.authenticate('google', { scope: ['profile'] })(req, res, next) passport.authenticate('google', { scope: ['profile'], hostedDomain: config.google.hostedDomain })(req, res, next)
}) })
// google auth callback // google auth callback
googleAuth.get('/auth/google/callback', googleAuth.get('/auth/google/callback',