From 892ee605270d583d800ec5ff9e1e4844eae92b38 Mon Sep 17 00:00:00 2001 From: DominikPf <> Date: Thu, 23 May 2019 10:28:08 +0200 Subject: Fix Scope parsing Issue for OAuth2 Login --- packages/wekan-oidc/oidc_client.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'packages') diff --git a/packages/wekan-oidc/oidc_client.js b/packages/wekan-oidc/oidc_client.js index 744bd841..6da9d9f0 100644 --- a/packages/wekan-oidc/oidc_client.js +++ b/packages/wekan-oidc/oidc_client.js @@ -18,10 +18,9 @@ Oidc.requestCredential = function (options, credentialRequestCompleteCallback) { new ServiceConfiguration.ConfigError('Service oidc not configured.')); return; } - + var credentialToken = Random.secret(); var loginStyle = OAuth._loginStyle('oidc', config, options); - var scope = config.requestPermissions || ['openid', 'profile', 'email']; // options options = options || {}; @@ -29,7 +28,7 @@ Oidc.requestCredential = function (options, credentialRequestCompleteCallback) { options.response_type = options.response_type || 'code'; options.redirect_uri = OAuth._redirectUri('oidc', config); options.state = OAuth._stateParam(loginStyle, credentialToken, options.redirectUrl); - options.scope = scope.join(' '); + options.scope = config.requestPermissions || 'openid profile email'; if (config.loginStyle && config.loginStyle == 'popup') { options.display = 'popup'; -- cgit v1.2.3-1-g7c22 From fd390d256066f538823111db6cef02f46e619750 Mon Sep 17 00:00:00 2001 From: benji <38424890+moserben16@users.noreply.github.com> Date: Thu, 6 Jun 2019 11:08:27 +0200 Subject: Update oidc_server.js with this fix, Authentication via OAuth2 with Google is possible. 1.) token endpoint and userinfo-endpoint in Google are different, so you have to check that, 2.) request the scopes of the environment variable "process.env.OAUTH2_REQUEST_PERMISSIONS" with this small little fix the login with google in oauth2-protocol gets possible :-) I would be very happy about a master-merge thank you in advance --- packages/wekan-oidc/oidc_server.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'packages') diff --git a/packages/wekan-oidc/oidc_server.js b/packages/wekan-oidc/oidc_server.js index ec615cd1..e826d1f5 100644 --- a/packages/wekan-oidc/oidc_server.js +++ b/packages/wekan-oidc/oidc_server.js @@ -49,7 +49,12 @@ if (Meteor.release) { var getToken = function (query) { var debug = process.env.DEBUG || false; var config = getConfiguration(); - var serverTokenEndpoint = config.serverUrl + config.tokenEndpoint; + if(config.tokenEndpoint.includes('https://')){ + var serverTokenEndpoint = config.tokenEndpoint; + }else{ + var serverTokenEndpoint = config.serverUrl + config.tokenEndpoint; + } + var requestPermissions = config.requestPermissions; var response; try { @@ -66,6 +71,7 @@ var getToken = function (query) { client_secret: OAuth.openSecret(config.secret), redirect_uri: OAuth._redirectUri('oidc', config), grant_type: 'authorization_code', + scope: requestPermissions, state: query.state } } -- cgit v1.2.3-1-g7c22