diff --git a/build.gradle b/build.gradle index 5fd9f7c..ea83399 100644 --- a/build.gradle +++ b/build.gradle @@ -35,8 +35,8 @@ dependencies { exclude group: 'org.springframework.modulith', module: 'spring-modulith-apt' } } else { - implementation 'com.github.reportportal:service-api:b6fe35f3df' - annotationProcessor('com.github.reportportal:service-api:b6fe35f3df') { + implementation 'com.github.reportportal:service-api:0141b9e' + annotationProcessor('com.github.reportportal:service-api:0141b9e') { exclude group: 'org.springframework.modulith', module: 'spring-modulith-apt' } } diff --git a/gradle.properties b/gradle.properties index 00fe68f..6d678b1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ version=1.0.0 description=EPAM Report Portal. GitHub auth plugin. pluginId=github pluginClass=com.epam.reportportal.extension.github.GitHubPlugin -pluginName=GitHub Auth Plugin +pluginName=GitHub Auth provider=ReportPortal license=Apache 2.0 documentation=https://reportportal.io/docs/plugins/authorization/GitHubAuthorization diff --git a/src/main/java/com/epam/reportportal/extension/github/GitHubExtension.java b/src/main/java/com/epam/reportportal/extension/github/GitHubExtension.java index 776d1e0..5a5bd6d 100644 --- a/src/main/java/com/epam/reportportal/extension/github/GitHubExtension.java +++ b/src/main/java/com/epam/reportportal/extension/github/GitHubExtension.java @@ -54,7 +54,7 @@ import java.util.function.Supplier; import javax.sql.DataSource; import lombok.extern.slf4j.Slf4j; -import org.jasypt.util.text.BasicTextEncryptor; +import com.epam.reportportal.base.core.integration.util.IntegrationParamsEncryptor; import org.pf4j.Extension; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.annotation.Autowired; @@ -75,7 +75,7 @@ public class GitHubExtension implements AuthExtension, DisposableBean { public static final String SCHEMA_SCRIPTS_DIR = "resources/schema"; private static final String PLUGIN_ID = "github"; - private static final String PLUGIN_NAME = "GitHub OAuth Plugin"; + private static final String PLUGIN_NAME = "GitHub Auth"; private static final String DOCUMENTATION_LINK = "https://reportportal.io/docs/plugins/authorization/GitHubAuthorization"; private static final String DOCUMENTATION_LINK_FIELD = "documentationLink"; private static final String NAME_FIELD = "name"; @@ -128,7 +128,7 @@ public boolean supports(Class authentication) { private OrganizationRepository organizationRepository; @Autowired - private BasicTextEncryptor encryptor; + private IntegrationParamsEncryptor paramsEncryptor; @Autowired private DataSource dataSource; @@ -147,7 +147,7 @@ public void init() throws IOException { this.gitHubIntegrationStrategySupplier = new MemoizingSupplier<>( () -> new GitHubIntegrationStrategy(integrationRepository, new UpdateAuthRequestValidator(new GitHubRequiredParamNamesProvider()), integrationDuplicateValidator, - encryptor)); + paramsEncryptor)); this.pluginLoadedListenerSupplier = new MemoizingSupplier<>( () -> new PluginLoadedEventListener(PLUGIN_ID, integrationTypeRepository, integrationRepository, diff --git a/src/main/java/com/epam/reportportal/extension/github/oauth/GitHubOAuth2UserService.java b/src/main/java/com/epam/reportportal/extension/github/oauth/GitHubOAuth2UserService.java index a0151b0..e53cb11 100644 --- a/src/main/java/com/epam/reportportal/extension/github/oauth/GitHubOAuth2UserService.java +++ b/src/main/java/com/epam/reportportal/extension/github/oauth/GitHubOAuth2UserService.java @@ -79,6 +79,9 @@ private List parseAllowedOrganizations(OAuthRegistrationResource registr private void validateUserOrganizations(UserResource user, GitHubClient client, List allowedOrgs) { + if (allowedOrgs.isEmpty()) { + return; + } boolean hasAccess = client.getUserOrganizations(user) .stream() .map(OrganizationResource::getLogin) diff --git a/src/main/java/com/epam/reportportal/extension/github/service/GitHubIntegrationStrategy.java b/src/main/java/com/epam/reportportal/extension/github/service/GitHubIntegrationStrategy.java index 8eed1d3..2c1688d 100644 --- a/src/main/java/com/epam/reportportal/extension/github/service/GitHubIntegrationStrategy.java +++ b/src/main/java/com/epam/reportportal/extension/github/service/GitHubIntegrationStrategy.java @@ -44,7 +44,7 @@ import java.util.Map; import java.util.Optional; import lombok.extern.slf4j.Slf4j; -import org.jasypt.util.text.BasicTextEncryptor; +import com.epam.reportportal.base.core.integration.util.IntegrationParamsEncryptor; import org.springframework.security.config.oauth2.client.CommonOAuth2Provider; import org.springframework.security.oauth2.client.registration.ClientRegistration; import org.springframework.stereotype.Service; @@ -62,8 +62,9 @@ public class GitHubIntegrationStrategy extends AuthIntegrationStrategy { public GitHubIntegrationStrategy(IntegrationRepository integrationRepository, AuthRequestValidator updateAuthRequestValidator, IntegrationDuplicateValidator integrationDuplicateValidator, - BasicTextEncryptor encryptor) { - super(integrationRepository, updateAuthRequestValidator, integrationDuplicateValidator); + IntegrationParamsEncryptor paramsEncryptor) { + super(integrationRepository, updateAuthRequestValidator, integrationDuplicateValidator, + paramsEncryptor); } @Override