From 8a779fdba3eeaf34221915535f3101edb5fe671e Mon Sep 17 00:00:00 2001 From: abh1sar Date: Thu, 13 Jun 2024 14:04:17 +0530 Subject: [PATCH 1/3] Add action button to enable/disable Oauth provider --- ui/src/config/section/config.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/ui/src/config/section/config.js b/ui/src/config/section/config.js index aa108b5b1fa8..8f792e51ac9c 100644 --- a/ui/src/config/section/config.js +++ b/ui/src/config/section/config.js @@ -101,7 +101,25 @@ export default { label: 'label.edit', dataView: true, popup: true, - args: ['description', 'clientid', 'redirecturi', 'secretkey', 'enabled'] + args: ['description', 'clientid', 'redirecturi', 'secretkey'] + }, + { + api: 'updateOauthProvider', + icon: 'play-circle-outlined', + label: 'label.enable.provider', + message: 'message.confirm.enable.provider', + dataView: true, + defaultArgs: { enabled: true }, + show: (record) => { return record.enabled === false } + }, + { + api: 'updateOauthProvider', + icon: 'pause-circle-outlined', + label: 'label.disable.provider', + message: 'message.confirm.disable.provider', + dataView: true, + defaultArgs: { enabled: false }, + show: (record) => { return record.enabled === true } }, { api: 'deleteOauthProvider', From 42ae18c5752a492098337532e15aea6c073e5cd7 Mon Sep 17 00:00:00 2001 From: abh1sar Date: Thu, 13 Jun 2024 23:20:48 +0530 Subject: [PATCH 2/3] trim down extra spaces in Oauth2 clientId, uri and secret --- .../cloudstack/oauth2/OAuth2AuthManagerImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManagerImpl.java b/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManagerImpl.java index 85730651248b..875f52b19e7b 100644 --- a/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManagerImpl.java +++ b/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManagerImpl.java @@ -138,9 +138,9 @@ public String verifyCodeAndFetchEmail(String code, String provider) { public OauthProviderVO registerOauthProvider(RegisterOAuthProviderCmd cmd) { String description = cmd.getDescription(); String provider = cmd.getProvider(); - String clientId = cmd.getClientId(); - String redirectUri = cmd.getRedirectUri(); - String secretKey = cmd.getSecretKey(); + String clientId = cmd.getClientId().replaceAll("\\s", ""); + String redirectUri = cmd.getRedirectUri().replaceAll("\\s", ""); + String secretKey = cmd.getSecretKey().replaceAll("\\s", ""); if (!isOAuthPluginEnabled()) { throw new CloudRuntimeException("OAuth is not enabled, please enable to register"); @@ -170,9 +170,9 @@ public List listOauthProviders(String provider, String uuid) { public OauthProviderVO updateOauthProvider(UpdateOAuthProviderCmd cmd) { Long id = cmd.getId(); String description = cmd.getDescription(); - String clientId = cmd.getClientId(); - String redirectUri = cmd.getRedirectUri(); - String secretKey = cmd.getSecretKey(); + String clientId = cmd.getClientId().replaceAll("\\s", ""); + String redirectUri = cmd.getRedirectUri().replaceAll("\\s", ""); + String secretKey = cmd.getSecretKey().replaceAll("\\s", ""); Boolean enabled = cmd.getEnabled(); OauthProviderVO providerVO = _oauthProviderDao.findById(id); From b24e990b1f28905bdb6f10f303639a5f0149c1de Mon Sep 17 00:00:00 2001 From: abh1sar Date: Fri, 14 Jun 2024 11:46:49 +0530 Subject: [PATCH 3/3] Null check and leading and trailing whitespace trimming only --- .../cloudstack/oauth2/OAuth2AuthManagerImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManagerImpl.java b/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManagerImpl.java index 875f52b19e7b..b0596f0c386d 100644 --- a/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManagerImpl.java +++ b/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManagerImpl.java @@ -138,9 +138,9 @@ public String verifyCodeAndFetchEmail(String code, String provider) { public OauthProviderVO registerOauthProvider(RegisterOAuthProviderCmd cmd) { String description = cmd.getDescription(); String provider = cmd.getProvider(); - String clientId = cmd.getClientId().replaceAll("\\s", ""); - String redirectUri = cmd.getRedirectUri().replaceAll("\\s", ""); - String secretKey = cmd.getSecretKey().replaceAll("\\s", ""); + String clientId = StringUtils.trim(cmd.getClientId()); + String redirectUri = StringUtils.trim(cmd.getRedirectUri()); + String secretKey = StringUtils.trim(cmd.getSecretKey()); if (!isOAuthPluginEnabled()) { throw new CloudRuntimeException("OAuth is not enabled, please enable to register"); @@ -170,9 +170,9 @@ public List listOauthProviders(String provider, String uuid) { public OauthProviderVO updateOauthProvider(UpdateOAuthProviderCmd cmd) { Long id = cmd.getId(); String description = cmd.getDescription(); - String clientId = cmd.getClientId().replaceAll("\\s", ""); - String redirectUri = cmd.getRedirectUri().replaceAll("\\s", ""); - String secretKey = cmd.getSecretKey().replaceAll("\\s", ""); + String clientId = StringUtils.trim(cmd.getClientId()); + String redirectUri = StringUtils.trim(cmd.getRedirectUri()); + String secretKey = StringUtils.trim(cmd.getSecretKey()); Boolean enabled = cmd.getEnabled(); OauthProviderVO providerVO = _oauthProviderDao.findById(id);