Skip to content

Commit 4e882fa

Browse files
monikakusterivicac
authored andcommitted
4840 ensure that all parameters, including those injected from predefined OAuth2 application configurations, are saved in the database
1 parent ba9b9e7 commit 4e882fa

1 file changed

Lines changed: 19 additions & 3 deletions

File tree

  • server/libs/platform/platform-connection/platform-connection-service/src/main/java/com/bytechef/platform/connection/facade

server/libs/platform/platform-connection/platform-connection-service/src/main/java/com/bytechef/platform/connection/facade/ConnectionFacadeImpl.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616

1717
package com.bytechef.platform.connection.facade;
1818

19+
import static com.bytechef.component.definition.Authorization.CLIENT_ID;
20+
import static com.bytechef.component.definition.Authorization.CLIENT_SECRET;
21+
1922
import com.bytechef.commons.util.CollectionUtils;
2023
import com.bytechef.component.definition.Authorization;
2124
import com.bytechef.component.definition.Authorization.AuthorizationCallbackResponse;
@@ -94,16 +97,29 @@ public long create(ConnectionDTO connectionDTO, PlatformType type) {
9497
if (authorizationType == AuthorizationType.OAUTH2_AUTHORIZATION_CODE ||
9598
authorizationType == AuthorizationType.OAUTH2_AUTHORIZATION_CODE_PKCE) {
9699

100+
Map<String, ?> predefinedParameters = oAuth2Service.checkPredefinedParameters(
101+
connection.getComponentName(), connection.getParameters());
102+
97103
AuthorizationCallbackResponse authorizationCallbackResponse =
98104
connectionDefinitionService.executeAuthorizationCallback(
99105
connection.getComponentName(), connection.getConnectionVersion(),
100-
connection.getAuthorizationType(),
101-
oAuth2Service.checkPredefinedParameters(
102-
connection.getComponentName(), connection.getParameters()),
106+
connection.getAuthorizationType(), predefinedParameters,
103107
oAuth2Service.getRedirectUri());
104108

105109
connection.putAllParameters(authorizationCallbackResponse.result());
106110

111+
Map<String, ?> parameters = connection.getParameters();
112+
113+
Object clientId = parameters.get(CLIENT_ID);
114+
Object clientSecret = parameters.get(CLIENT_SECRET);
115+
116+
if ((clientId == null || clientId.equals("")) && (clientSecret == null || clientSecret.equals(""))) {
117+
connection.putAllParameters(
118+
Map.of(
119+
CLIENT_ID, predefinedParameters.get(CLIENT_ID),
120+
CLIENT_SECRET, predefinedParameters.get(CLIENT_SECRET)));
121+
}
122+
107123
if (logger.isWarnEnabled() && !connection.containsParameter(Authorization.REFRESH_TOKEN)) {
108124
logger.warn(
109125
"OAuth2 authorization code connection for component {} does not contain refresh token",

0 commit comments

Comments
 (0)