Search in sources :

Example 1 with MultitenantJdbcClientDetailsService

use of org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService in project uaa by cloudfoundry.

the class UaaClientAuthenticationProviderTest method setUpForClientTests.

@BeforeEach
void setUpForClientTests() {
    IdentityZoneManager mockIdentityZoneManager = mock(IdentityZoneManager.class);
    when(mockIdentityZoneManager.getCurrentIdentityZoneId()).thenReturn(IdentityZone.getUaaZoneId());
    jdbcClientDetailsService = new MultitenantJdbcClientDetailsService(jdbcTemplate, mockIdentityZoneManager, passwordEncoder);
    ClientDetailsUserDetailsService clientDetailsService = new ClientDetailsUserDetailsService(jdbcClientDetailsService);
    client = createClient();
    authenticationProvider = new ClientDetailsAuthenticationProvider(clientDetailsService, passwordEncoder);
}
Also used : MultitenantJdbcClientDetailsService(org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService) ClientDetailsUserDetailsService(org.springframework.security.oauth2.provider.client.ClientDetailsUserDetailsService) IdentityZoneManager(org.cloudfoundry.identity.uaa.zone.beans.IdentityZoneManager) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 2 with MultitenantJdbcClientDetailsService

use of org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService in project uaa by cloudfoundry.

the class ClientAdminBootstrapTests method setUpClientAdminTests.

@BeforeEach
void setUpClientAdminTests() {
    randomValueStringGenerator = new RandomValueStringGenerator();
    IdentityZoneManager mockIdentityZoneManager = mock(IdentityZoneManager.class);
    when(mockIdentityZoneManager.getCurrentIdentityZoneId()).thenReturn(IdentityZone.getUaaZoneId());
    multitenantJdbcClientDetailsService = spy(new MultitenantJdbcClientDetailsService(jdbcTemplate, mockIdentityZoneManager, passwordEncoder));
    clientMetadataProvisioning = new JdbcClientMetadataProvisioning(multitenantJdbcClientDetailsService, jdbcTemplate);
    autoApproveId = "autoapprove-" + randomValueStringGenerator.generate().toLowerCase();
    clients = new HashMap<>();
    clientAdminBootstrap = new ClientAdminBootstrap(passwordEncoder, multitenantJdbcClientDetailsService, clientMetadataProvisioning, true, clients, Collections.singleton(autoApproveId), Collections.emptySet(), null);
    mockApplicationEventPublisher = mock(ApplicationEventPublisher.class);
    clientAdminBootstrap.setApplicationEventPublisher(mockApplicationEventPublisher);
}
Also used : MultitenantJdbcClientDetailsService(org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService) ApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) RandomValueStringGenerator(org.springframework.security.oauth2.common.util.RandomValueStringGenerator) IdentityZoneManager(org.cloudfoundry.identity.uaa.zone.beans.IdentityZoneManager) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 3 with MultitenantJdbcClientDetailsService

use of org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService in project uaa by cloudfoundry.

the class TokenRevocationEndpointTests method setupForTokenRevocation.

@BeforeEach
void setupForTokenRevocation() {
    String zoneId = IdentityZoneHolder.get().getId();
    RandomValueStringGenerator generator = new RandomValueStringGenerator();
    String clientId = generator.generate().toLowerCase();
    client = new BaseClientDetails(clientId, "", "some.scopes", "client_credentials", "authorities");
    client.addAdditionalInformation(TOKEN_SALT, "pre-salt");
    IdentityZoneManager mockIdentityZoneManager = mock(IdentityZoneManager.class);
    when(mockIdentityZoneManager.getCurrentIdentityZoneId()).thenReturn(IdentityZone.getUaaZoneId());
    clientService = spy(new MultitenantJdbcClientDetailsService(jdbcTemplate, mockIdentityZoneManager, passwordEncoder));
    clientService.addClientDetails(client, zoneId);
    ScimUserProvisioning userProvisioning = new JdbcScimUserProvisioning(jdbcTemplate, new JdbcPagingListFactory(jdbcTemplate, limitSqlAdapter), passwordEncoder);
    JdbcRevocableTokenProvisioning provisioning = spy(new JdbcRevocableTokenProvisioning(jdbcTemplate, limitSqlAdapter, new TimeServiceImpl()));
    endpoint = spy(new TokenRevocationEndpoint(clientService, userProvisioning, provisioning));
    ApplicationEventPublisher publisher = mock(ApplicationEventPublisher.class);
    endpoint.setApplicationEventPublisher(publisher);
    SecurityContextHolder.getContext().setAuthentication(new UaaOauth2Authentication("token-value", zoneId, mock(OAuth2Request.class), new UaaAuthentication(new UaaPrincipal("id", "username", "username@test.com", OriginKeys.UAA, "", zoneId), Collections.emptyList(), mock(UaaAuthenticationDetails.class))));
    provisioning.create(new RevocableToken().setClientId(client.getClientId()).setTokenId("token-id").setUserId(null).setResponseType(RevocableToken.TokenType.ACCESS_TOKEN).setValue("value").setIssuedAt(System.currentTimeMillis()), zoneId);
}
Also used : BaseClientDetails(org.springframework.security.oauth2.provider.client.BaseClientDetails) TimeServiceImpl(org.cloudfoundry.identity.uaa.util.TimeServiceImpl) MultitenantJdbcClientDetailsService(org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService) JdbcRevocableTokenProvisioning(org.cloudfoundry.identity.uaa.oauth.token.JdbcRevocableTokenProvisioning) JdbcPagingListFactory(org.cloudfoundry.identity.uaa.resources.jdbc.JdbcPagingListFactory) UaaAuthenticationDetails(org.cloudfoundry.identity.uaa.authentication.UaaAuthenticationDetails) JdbcScimUserProvisioning(org.cloudfoundry.identity.uaa.scim.jdbc.JdbcScimUserProvisioning) ScimUserProvisioning(org.cloudfoundry.identity.uaa.scim.ScimUserProvisioning) JdbcScimUserProvisioning(org.cloudfoundry.identity.uaa.scim.jdbc.JdbcScimUserProvisioning) UaaAuthentication(org.cloudfoundry.identity.uaa.authentication.UaaAuthentication) UaaPrincipal(org.cloudfoundry.identity.uaa.authentication.UaaPrincipal) RevocableToken(org.cloudfoundry.identity.uaa.oauth.token.RevocableToken) ApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) RandomValueStringGenerator(org.springframework.security.oauth2.common.util.RandomValueStringGenerator) IdentityZoneManager(org.cloudfoundry.identity.uaa.zone.beans.IdentityZoneManager) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 4 with MultitenantJdbcClientDetailsService

use of org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService in project uaa by cloudfoundry.

the class JdbcQueryableClientDetailsServiceTests method setUp.

@BeforeEach
void setUp() {
    multitenantJdbcClientDetailsService = new MultitenantJdbcClientDetailsService(jdbcTemplate, null, passwordEncoder);
    jdbcQueryableClientDetailsService = new JdbcQueryableClientDetailsService(multitenantJdbcClientDetailsService, jdbcTemplate, new JdbcPagingListFactory(jdbcTemplate, limitSqlAdapter));
}
Also used : MultitenantJdbcClientDetailsService(org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService) JdbcPagingListFactory(org.cloudfoundry.identity.uaa.resources.jdbc.JdbcPagingListFactory) JdbcQueryableClientDetailsService(org.cloudfoundry.identity.uaa.client.JdbcQueryableClientDetailsService) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 5 with MultitenantJdbcClientDetailsService

use of org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService in project uaa by cloudfoundry.

the class MockMvcUtils method createClient.

public static BaseClientDetails createClient(ApplicationContext context, BaseClientDetails clientDetails, IdentityZone zone) {
    MultitenantJdbcClientDetailsService service = context.getBean(MultitenantJdbcClientDetailsService.class);
    service.addClientDetails(clientDetails, zone.getId());
    return (BaseClientDetails) service.loadClientByClientId(clientDetails.getClientId(), zone.getId());
}
Also used : BaseClientDetails(org.springframework.security.oauth2.provider.client.BaseClientDetails) MultitenantJdbcClientDetailsService(org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService)

Aggregations

MultitenantJdbcClientDetailsService (org.cloudfoundry.identity.uaa.zone.MultitenantJdbcClientDetailsService)8 BeforeEach (org.junit.jupiter.api.BeforeEach)6 IdentityZoneManager (org.cloudfoundry.identity.uaa.zone.beans.IdentityZoneManager)4 BaseClientDetails (org.springframework.security.oauth2.provider.client.BaseClientDetails)4 RandomValueStringGenerator (org.springframework.security.oauth2.common.util.RandomValueStringGenerator)3 JdbcPagingListFactory (org.cloudfoundry.identity.uaa.resources.jdbc.JdbcPagingListFactory)2 TimeServiceImpl (org.cloudfoundry.identity.uaa.util.TimeServiceImpl)2 ApplicationEventPublisher (org.springframework.context.ApplicationEventPublisher)2 ApprovalsAdminEndpoints (org.cloudfoundry.identity.uaa.approval.ApprovalsAdminEndpoints)1 JdbcApprovalStore (org.cloudfoundry.identity.uaa.approval.JdbcApprovalStore)1 UaaAuthentication (org.cloudfoundry.identity.uaa.authentication.UaaAuthentication)1 UaaAuthenticationDetails (org.cloudfoundry.identity.uaa.authentication.UaaAuthenticationDetails)1 UaaPrincipal (org.cloudfoundry.identity.uaa.authentication.UaaPrincipal)1 JdbcQueryableClientDetailsService (org.cloudfoundry.identity.uaa.client.JdbcQueryableClientDetailsService)1 JdbcRevocableTokenProvisioning (org.cloudfoundry.identity.uaa.oauth.token.JdbcRevocableTokenProvisioning)1 RevocableToken (org.cloudfoundry.identity.uaa.oauth.token.RevocableToken)1 ScimUserProvisioning (org.cloudfoundry.identity.uaa.scim.ScimUserProvisioning)1 JdbcScimUserProvisioning (org.cloudfoundry.identity.uaa.scim.jdbc.JdbcScimUserProvisioning)1 SecurityContextAccessor (org.cloudfoundry.identity.uaa.security.beans.SecurityContextAccessor)1 UaaTestAccounts (org.cloudfoundry.identity.uaa.test.UaaTestAccounts)1