From d47e7f67b58673e42a9b961429cbca838dfbe10b Mon Sep 17 00:00:00 2001 From: serge-rider Date: Wed, 22 Jun 2022 20:28:27 +0300 Subject: [PATCH 1/2] dbeaver/dbeaver-ee#1681 Use auth providers info to authenticate in DC IP --- .../security/internal/CBEmbeddedSecurityController.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/internal/CBEmbeddedSecurityController.java b/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/internal/CBEmbeddedSecurityController.java index a88a7850bf..052160baf1 100644 --- a/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/internal/CBEmbeddedSecurityController.java +++ b/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/internal/CBEmbeddedSecurityController.java @@ -351,7 +351,7 @@ public class CBEmbeddedSecurityController implements SMAdminController { /////////////////////////////////////////// // Credentials - private static SMAuthCredentialsProfile getCredentialProfileByParameters(SMAuthProviderDescriptor authProvider, Set keySet) { + private static SMAuthCredentialsProfile getCredentialProfileByParameters(AuthProviderDescriptor authProvider, Set keySet) { List credentialProfiles = authProvider.getCredentialProfiles(); if (credentialProfiles.size() > 1) { for (SMAuthCredentialsProfile profile : credentialProfiles) { @@ -953,6 +953,13 @@ public class CBEmbeddedSecurityController implements SMAdminController { return new SMAuthPermissions(userId, sessionId, permissions); } + @Override + public SMAuthProviderDescriptor[] getAvailableAuthProviders() { + return AuthProviderRegistry.getInstance().getAuthProviders().stream() + .filter(ap -> !ap.isTrusted()) + .map(AuthProviderDescriptor::createDescriptorBean).toArray(SMAuthProviderDescriptor[]::new); + } + @Override public void updateSession(@NotNull String sessionId, @Nullable String userId, @NotNull Map parameters) throws DBCException { try (Connection dbCon = database.openConnection()) { From c2d8af23b2b32d38f88a194f1c27be8a787b1f56 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Thu, 23 Jun 2022 14:21:59 +0200 Subject: [PATCH 2/2] CB-1424 NPE fix --- .../src/io/cloudbeaver/model/session/WebSession.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java index 9c4b6b6c32..b76bae0e62 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java @@ -821,7 +821,10 @@ public class WebSession extends AbstractSessionPersistent implements SMSession, if (providerId == null) { clearAuthTokens(); } else { - removeAuthInfo(getAuthInfo(providerId)); + WebAuthInfo authInfo = getAuthInfo(providerId); + if (authInfo != null) { + removeAuthInfo(authInfo); + } } if (authTokens.isEmpty()) { resetUserState();