Search in sources :

Example 1 with MfaProvider

use of org.cloudfoundry.identity.uaa.mfa.MfaProvider in project uaa by cloudfoundry.

the class TotpMfaEndpointTest method setup.

@Before
public void setup() {
    userId = new RandomValueStringGenerator(5).generate();
    userGoogleMfaCredentialsProvisioning = mock(UserGoogleMfaCredentialsProvisioning.class);
    mfaProviderProvisioning = mock(MfaProviderProvisioning.class);
    uaaAuthentication = mock(UaaAuthentication.class);
    mfaProvider = new MfaProvider();
    mfaProvider.setName("provider-name");
    mfaProvider.setId("provider_id1");
    mfaProvider.setConfig(new GoogleMfaProviderConfig());
    mfaProvider.setType(MfaProvider.MfaProviderType.GOOGLE_AUTHENTICATOR);
    otherMfaProvider = new MfaProvider();
    otherMfaProvider.setName("other-provider-name");
    otherMfaProvider.setId("provider_id2");
    otherMfaProvider.setConfig(new GoogleMfaProviderConfig());
    otherMfaProvider.setType(MfaProvider.MfaProviderType.GOOGLE_AUTHENTICATOR);
    mockSuccessHandler = mock(SavedRequestAwareAuthenticationSuccessHandler.class);
    SecurityContextHolder.getContext().setAuthentication(uaaAuthentication);
    publisher = mock(ApplicationEventPublisher.class);
    eventCaptor = ArgumentCaptor.forClass(ApplicationEvent.class);
    doNothing().when(publisher).publishEvent(eventCaptor.capture());
    userDb = mock(UaaUserDatabase.class);
    mockMfaPolicy = mock(CommonLoginPolicy.class);
    when(mockMfaPolicy.isAllowed(anyString())).thenReturn(new LoginPolicy.Result(true, 0));
    endpoint = new TotpMfaEndpoint(userGoogleMfaCredentialsProvisioning, mfaProviderProvisioning, "/login/mfa/completed", userDb, mockMfaPolicy);
    endpoint.setApplicationEventPublisher(publisher);
}
Also used : MfaProvider(org.cloudfoundry.identity.uaa.mfa.MfaProvider) CommonLoginPolicy(org.cloudfoundry.identity.uaa.authentication.manager.CommonLoginPolicy) MfaProviderProvisioning(org.cloudfoundry.identity.uaa.mfa.MfaProviderProvisioning) ApplicationEvent(org.springframework.context.ApplicationEvent) GoogleMfaProviderConfig(org.cloudfoundry.identity.uaa.mfa.GoogleMfaProviderConfig) UaaUserDatabase(org.cloudfoundry.identity.uaa.user.UaaUserDatabase) UserGoogleMfaCredentialsProvisioning(org.cloudfoundry.identity.uaa.mfa.UserGoogleMfaCredentialsProvisioning) UaaAuthentication(org.cloudfoundry.identity.uaa.authentication.UaaAuthentication) SavedRequestAwareAuthenticationSuccessHandler(org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler) ApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) CommonLoginPolicy(org.cloudfoundry.identity.uaa.authentication.manager.CommonLoginPolicy) LoginPolicy(org.cloudfoundry.identity.uaa.authentication.manager.LoginPolicy) RandomValueStringGenerator(org.springframework.security.oauth2.common.util.RandomValueStringGenerator) Before(org.junit.Before)

Example 2 with MfaProvider

use of org.cloudfoundry.identity.uaa.mfa.MfaProvider in project uaa by cloudfoundry.

the class ScimUserEndpointsMockMvcTests method testDeleteMfaUserCredentials.

@Test
void testDeleteMfaUserCredentials() throws Exception {
    ScimUser user = createUser(uaaAdminToken);
    MfaProvider provider = createMfaProvider(IdentityZoneHolder.get().getId());
    IdentityZoneHolder.get().getConfig().setMfaConfig(new MfaConfig().setEnabled(true).setProviderName("mfaProvider"));
    UserGoogleMfaCredentials creds = new UserGoogleMfaCredentials(user.getId(), "ABCDEFGHIJKLMNOP", 1234, Collections.singletonList(123456)).setMfaProviderId(provider.getId());
    mfaCredentialsProvisioning.save(creds, IdentityZoneHolder.get().getId());
    assertNotNull(mfaCredentialsProvisioning.retrieve(user.getId(), provider.getId()));
    MockHttpServletRequestBuilder delete = delete("/Users/" + user.getId() + "/mfa").header("Authorization", "Bearer " + uaaAdminToken).contentType(APPLICATION_JSON);
    mockMvc.perform(delete).andExpect(status().isOk());
    assertMfaCredentialsNotExisting(user, provider);
}
Also used : ScimUser(org.cloudfoundry.identity.uaa.scim.ScimUser) MfaProvider(org.cloudfoundry.identity.uaa.mfa.MfaProvider) MfaConfig(org.cloudfoundry.identity.uaa.zone.MfaConfig) UserGoogleMfaCredentials(org.cloudfoundry.identity.uaa.mfa.UserGoogleMfaCredentials) MockHttpServletRequestBuilder(org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder) Test(org.junit.jupiter.api.Test)

Example 3 with MfaProvider

use of org.cloudfoundry.identity.uaa.mfa.MfaProvider in project uaa by cloudfoundry.

the class ScimUserEndpointsMockMvcTests method createMfaProvider.

private MfaProvider createMfaProvider(String identityZoneId) {
    String index = generator.generate();
    String mfaProviderId = "mfaProviderId" + index;
    String mfaProviderName = "mfaProvider" + index;
    MfaProvider provider = new MfaProvider().setName(mfaProviderName).setId(mfaProviderId).setType(MfaProvider.MfaProviderType.GOOGLE_AUTHENTICATOR).setConfig(new GoogleMfaProviderConfig()).setIdentityZoneId(identityZoneId);
    mfaProviderProvisioning.create(provider, identityZoneId);
    return provider;
}
Also used : MfaProvider(org.cloudfoundry.identity.uaa.mfa.MfaProvider) GoogleMfaProviderConfig(org.cloudfoundry.identity.uaa.mfa.GoogleMfaProviderConfig)

Example 4 with MfaProvider

use of org.cloudfoundry.identity.uaa.mfa.MfaProvider in project uaa by cloudfoundry.

the class MfaProviderEndpointsIntegrationTests method createMfaProvider.

@Test
public void createMfaProvider() {
    MfaProvider result = IntegrationTestUtils.createGoogleMfaProvider(baseUrl, adminToken, mfaProvider, "");
    assertTrue("id is not empty", StringUtils.hasText(result.getId()));
}
Also used : MfaProvider(org.cloudfoundry.identity.uaa.mfa.MfaProvider) Test(org.junit.Test)

Example 5 with MfaProvider

use of org.cloudfoundry.identity.uaa.mfa.MfaProvider in project uaa by cloudfoundry.

the class MfaProviderEndpointsIntegrationTests method setup.

@Before
public void setup() throws Exception {
    adminToken = IntegrationTestUtils.getZoneAdminToken(baseUrl, serverRunning);
    mfaProvider = new MfaProvider();
    mfaProvider.setConfig(new GoogleMfaProviderConfig());
    mfaProvider.setType(MfaProvider.MfaProviderType.GOOGLE_AUTHENTICATOR);
    mfaProvider.setName("testMfaProvider");
}
Also used : MfaProvider(org.cloudfoundry.identity.uaa.mfa.MfaProvider) GoogleMfaProviderConfig(org.cloudfoundry.identity.uaa.mfa.GoogleMfaProviderConfig) Before(org.junit.Before)

Aggregations

MfaProvider (org.cloudfoundry.identity.uaa.mfa.MfaProvider)29 Test (org.junit.jupiter.api.Test)16 GoogleMfaProviderConfig (org.cloudfoundry.identity.uaa.mfa.GoogleMfaProviderConfig)12 MockMvcUtils.constructGoogleMfaProvider (org.cloudfoundry.identity.uaa.mock.util.MockMvcUtils.constructGoogleMfaProvider)10 RandomValueStringGenerator (org.springframework.security.oauth2.common.util.RandomValueStringGenerator)7 IdentityZone (org.cloudfoundry.identity.uaa.zone.IdentityZone)6 MockHttpServletRequestBuilder (org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder)6 MfaProviderProvisioning (org.cloudfoundry.identity.uaa.mfa.MfaProviderProvisioning)5 MfaConfig (org.cloudfoundry.identity.uaa.zone.MfaConfig)5 Matchers.containsString (org.hamcrest.Matchers.containsString)5 MvcResult (org.springframework.test.web.servlet.MvcResult)5 ScimUser (org.cloudfoundry.identity.uaa.scim.ScimUser)4 MockHttpServletResponse (org.springframework.mock.web.MockHttpServletResponse)4 JdbcMfaProviderProvisioning (org.cloudfoundry.identity.uaa.mfa.JdbcMfaProviderProvisioning)3 UserGoogleMfaCredentials (org.cloudfoundry.identity.uaa.mfa.UserGoogleMfaCredentials)3 ResultActions (org.springframework.test.web.servlet.ResultActions)3 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)2 UaaPrincipal (org.cloudfoundry.identity.uaa.authentication.UaaPrincipal)2 Before (org.junit.Before)2 BeforeEach (org.junit.jupiter.api.BeforeEach)2