Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ public abstract class AbstractAuthenticationIdpBean {
@XmlElement
private Boolean enabled;

@XmlElement
private Boolean enabledForJsm;

@XmlElement
private String url;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ public class AuthenticationSsoBean {
@XmlElement
private Boolean showOnLogin;

@XmlElement
private Boolean showOnLoginForJsm;

@XmlElement
private Boolean enableAuthenticationFallback;

Expand All @@ -25,6 +28,7 @@ public class AuthenticationSsoBean {
static {
EXAMPLE_1 = new AuthenticationSsoBean();
EXAMPLE_1.setShowOnLogin(true);
EXAMPLE_1.setShowOnLoginForJsm(true);
EXAMPLE_1.setEnableAuthenticationFallback(true);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,41 +8,42 @@
import javax.ws.rs.core.Response;
import java.util.List;

public abstract class AbstractAuthenticationResourceImpl implements AuthenticationResource {
public abstract class AbstractAuthenticationResourceImpl<IB extends AbstractAuthenticationIdpBean, SB extends AuthenticationSsoBean, S extends AuthenticationService<IB, SB>>
implements AuthenticationResource<IB, SB> {

private final AuthenticationService authenticationService;
private final S authenticationService;

protected AbstractAuthenticationResourceImpl(
final AuthenticationService authenticationService) {
final S authenticationService) {

this.authenticationService = authenticationService;
}

@Override
public Response getAuthenticationIdps() {
final List<AbstractAuthenticationIdpBean> resultAuthenticationIdpBeans = authenticationService.getAuthenticationIdps();
final List<IB> resultAuthenticationIdpBeans = authenticationService.getAuthenticationIdps();
return Response.ok(resultAuthenticationIdpBeans).build();
}

@Override
public Response setAuthenticationIdps(
final List<AbstractAuthenticationIdpBean> authenticationIdpBeans) {
final List<IB> authenticationIdpBeans) {

final List<AbstractAuthenticationIdpBean> resultAuthenticationIdpBeans = authenticationService.setAuthenticationIdps(authenticationIdpBeans);
final List<IB> resultAuthenticationIdpBeans = authenticationService.setAuthenticationIdps(authenticationIdpBeans);
return Response.ok(resultAuthenticationIdpBeans).build();
}

@Override
public Response getAuthenticationSso() {
final AuthenticationSsoBean resultAuthenticationSsoBean = authenticationService.getAuthenticationSso();
final SB resultAuthenticationSsoBean = authenticationService.getAuthenticationSso();
return Response.ok(resultAuthenticationSsoBean).build();
}

@Override
public Response setAuthenticationSso(
final AuthenticationSsoBean authenticationSsoBean) {
final SB authenticationSsoBean) {

final AuthenticationSsoBean resultAuthenticationSsoBean = authenticationService.setAuthenticationSso(authenticationSsoBean);
final SB resultAuthenticationSsoBean = authenticationService.setAuthenticationSso(authenticationSsoBean);
return Response.ok(resultAuthenticationSsoBean).build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import javax.ws.rs.core.Response;
import java.util.List;

public interface AuthenticationResource {
public interface AuthenticationResource<IB extends AbstractAuthenticationIdpBean, SB extends AuthenticationSsoBean> {

@GET
@Path(BootstrAPI.AUTHENTICATION_IDPS)
Expand Down Expand Up @@ -57,7 +57,7 @@ public interface AuthenticationResource {
}
)
Response setAuthenticationIdps(
final List<AbstractAuthenticationIdpBean> authenticationIdpBeans);
final List<IB> authenticationIdpBeans);

@GET
@Path(BootstrAPI.AUTHENTICATION_SSO)
Expand Down Expand Up @@ -95,6 +95,6 @@ Response setAuthenticationIdps(
}
)
Response setAuthenticationSso(
final AuthenticationSsoBean authenticationSsoBean);
final SB authenticationSsoBean);

}
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package com.deftdevs.bootstrapi.confluence.rest;

import com.sun.jersey.spi.container.ResourceFilters;
import com.deftdevs.bootstrapi.commons.constants.BootstrAPI;
import com.deftdevs.bootstrapi.commons.model.AbstractAuthenticationIdpBean;
import com.deftdevs.bootstrapi.commons.model.AuthenticationSsoBean;
import com.deftdevs.bootstrapi.commons.rest.AbstractAuthenticationResourceImpl;
import com.deftdevs.bootstrapi.commons.service.api.AuthenticationService;
import com.deftdevs.bootstrapi.confluence.filter.SysAdminOnlyResourceFilter;
import com.deftdevs.bootstrapi.confluence.service.api.ConfluenceAuthenticationService;
import com.sun.jersey.spi.container.ResourceFilters;
import org.springframework.stereotype.Component;

import javax.inject.Inject;
Expand All @@ -13,10 +15,10 @@
@Path(BootstrAPI.AUTHENTICATION)
@ResourceFilters(SysAdminOnlyResourceFilter.class)
@Component
public class AuthenticationResourceImpl extends AbstractAuthenticationResourceImpl {
public class AuthenticationResourceImpl extends AbstractAuthenticationResourceImpl<AbstractAuthenticationIdpBean, AuthenticationSsoBean, ConfluenceAuthenticationService> {

@Inject
public AuthenticationResourceImpl(AuthenticationService authenticationService) {
public AuthenticationResourceImpl(ConfluenceAuthenticationService authenticationService) {
super(authenticationService);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
import com.deftdevs.bootstrapi.commons.exception.BadRequestException;
import com.deftdevs.bootstrapi.commons.model.AbstractAuthenticationIdpBean;
import com.deftdevs.bootstrapi.commons.model.AuthenticationSsoBean;
import com.deftdevs.bootstrapi.commons.service.api.AuthenticationService;
import com.deftdevs.bootstrapi.confluence.model.util.AuthenticationIdpBeanUtil;
import com.deftdevs.bootstrapi.confluence.model.util.AuthenticationSsoBeanUtil;
import com.deftdevs.bootstrapi.confluence.service.api.ConfluenceAuthenticationService;
import org.springframework.stereotype.Component;

import java.util.Comparator;
Expand All @@ -21,8 +21,8 @@
import java.util.stream.Collectors;

@Component
@ExportAsService(AuthenticationService.class)
public class AuthenticationServiceImpl implements AuthenticationService<AbstractAuthenticationIdpBean, AuthenticationSsoBean> {
@ExportAsService(ConfluenceAuthenticationService.class)
public class AuthenticationServiceImpl implements ConfluenceAuthenticationService {

@ComponentImport
private final IdpConfigService idpConfigService;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.deftdevs.bootstrapi.confluence.service.api;

import com.deftdevs.bootstrapi.commons.model.AbstractAuthenticationIdpBean;
import com.deftdevs.bootstrapi.commons.model.AuthenticationSsoBean;
import com.deftdevs.bootstrapi.commons.service.api.AuthenticationService;

public interface ConfluenceAuthenticationService extends
AuthenticationService<AbstractAuthenticationIdpBean, AuthenticationSsoBean> {

}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ private static OidcConfig toOidcConfig(
if (authenticationIdpOidcBean.getEnabled() != null) {
oidcConfigBuilder.setEnabled(authenticationIdpOidcBean.getEnabled());
}
if (authenticationIdpOidcBean.getEnabledForJsm() != null) {
oidcConfigBuilder.setIncludeCustomerLogins(authenticationIdpOidcBean.getEnabledForJsm());
}
if (authenticationIdpOidcBean.getUrl() != null) {
oidcConfigBuilder.setIssuer(authenticationIdpOidcBean.getUrl());
}
Expand Down Expand Up @@ -113,6 +116,7 @@ private static AuthenticationIdpOidcBean toAuthenticationIdpOidcBean(
authenticationIdpOidcBean.setId(oidcConfig.getId());
authenticationIdpOidcBean.setName(oidcConfig.getName());
authenticationIdpOidcBean.setEnabled(oidcConfig.isEnabled());
authenticationIdpOidcBean.setEnabledForJsm(oidcConfig.isIncludeCustomerLogins());
authenticationIdpOidcBean.setUrl(oidcConfig.getIssuer());
authenticationIdpOidcBean.setEnableRememberMe(oidcConfig.isEnableRememberMe());
authenticationIdpOidcBean.setButtonText(oidcConfig.getButtonText());
Expand Down Expand Up @@ -140,6 +144,7 @@ private static AuthenticationIdpSamlBean toAuthenticationIdpSamlBean(
authenticationIdpSamlBean.setId(samlConfig.getId());
authenticationIdpSamlBean.setName(samlConfig.getName());
authenticationIdpSamlBean.setEnabled(samlConfig.isEnabled());
authenticationIdpSamlBean.setEnabledForJsm(samlConfig.isIncludeCustomerLogins());
authenticationIdpSamlBean.setUrl(samlConfig.getIssuer());
authenticationIdpSamlBean.setEnableRememberMe(samlConfig.isEnableRememberMe());
authenticationIdpSamlBean.setButtonText(samlConfig.getButtonText());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.atlassian.plugins.authentication.api.config.ImmutableSsoConfig;
import com.atlassian.plugins.authentication.api.config.SsoConfig;
import com.deftdevs.bootstrapi.jira.model.AuthenticationSsoBean;
import com.deftdevs.bootstrapi.commons.model.AuthenticationSsoBean;

public class AuthenticationSsoBeanUtil {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package com.deftdevs.bootstrapi.jira.rest;

import com.sun.jersey.spi.container.ResourceFilters;
import com.deftdevs.bootstrapi.commons.constants.BootstrAPI;
import com.deftdevs.bootstrapi.commons.model.AbstractAuthenticationIdpBean;
import com.deftdevs.bootstrapi.commons.model.AuthenticationSsoBean;
import com.deftdevs.bootstrapi.commons.rest.AbstractAuthenticationResourceImpl;
import com.deftdevs.bootstrapi.commons.service.api.AuthenticationService;
import com.deftdevs.bootstrapi.jira.filter.SysadminOnlyResourceFilter;
import com.deftdevs.bootstrapi.jira.service.api.JiraAuthenticationService;
import com.sun.jersey.spi.container.ResourceFilters;
import org.springframework.stereotype.Component;

import javax.inject.Inject;
Expand All @@ -13,10 +15,10 @@
@Path(BootstrAPI.AUTHENTICATION)
@ResourceFilters(SysadminOnlyResourceFilter.class)
@Component
public class AuthenticationResourceImpl extends AbstractAuthenticationResourceImpl {
public class AuthenticationResourceImpl extends AbstractAuthenticationResourceImpl<AbstractAuthenticationIdpBean, AuthenticationSsoBean, JiraAuthenticationService> {

@Inject
public AuthenticationResourceImpl(AuthenticationService authenticationService) {
public AuthenticationResourceImpl(JiraAuthenticationService authenticationService) {
super(authenticationService);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
import com.atlassian.plugins.authentication.api.config.SsoConfigService;
import com.deftdevs.bootstrapi.commons.exception.BadRequestException;
import com.deftdevs.bootstrapi.commons.model.AbstractAuthenticationIdpBean;
import com.deftdevs.bootstrapi.commons.service.api.AuthenticationService;
import com.deftdevs.bootstrapi.jira.model.AuthenticationSsoBean;
import com.deftdevs.bootstrapi.commons.model.AuthenticationSsoBean;
import com.deftdevs.bootstrapi.jira.model.util.AuthenticationIdpBeanUtil;
import com.deftdevs.bootstrapi.jira.model.util.AuthenticationSsoBeanUtil;
import com.deftdevs.bootstrapi.jira.service.api.JiraAuthenticationService;
import org.springframework.stereotype.Component;

import java.util.Comparator;
Expand All @@ -21,8 +21,8 @@
import java.util.stream.Collectors;

@Component
@ExportAsService(AuthenticationService.class)
public class AuthenticationServiceImpl implements AuthenticationService<AbstractAuthenticationIdpBean, AuthenticationSsoBean> {
@ExportAsService(JiraAuthenticationService.class)
public class AuthenticationServiceImpl implements JiraAuthenticationService {

@ComponentImport
private final IdpConfigService idpConfigService;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.deftdevs.bootstrapi.jira.service.api;

import com.deftdevs.bootstrapi.commons.model.AbstractAuthenticationIdpBean;
import com.deftdevs.bootstrapi.commons.model.AuthenticationSsoBean;
import com.deftdevs.bootstrapi.commons.service.api.AuthenticationService;

public interface JiraAuthenticationService extends
AuthenticationService<AbstractAuthenticationIdpBean, AuthenticationSsoBean> {

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.deftdevs.bootstrapi.commons.exception.BadRequestException;
import com.deftdevs.bootstrapi.commons.model.AbstractAuthenticationIdpBean;
import com.deftdevs.bootstrapi.commons.model.AuthenticationIdpOidcBean;
import com.deftdevs.bootstrapi.jira.model.AuthenticationSsoBean;
import com.deftdevs.bootstrapi.commons.model.AuthenticationSsoBean;
import com.deftdevs.bootstrapi.jira.model.util.AuthenticationIdpBeanUtil;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand Down