Search in sources :

Example 71 with IdentityProviderRepresentation

use of org.keycloak.representations.idm.IdentityProviderRepresentation in project keycloak by keycloak.

the class AbstractRoleMapperTest method loginAsUserTwiceWithMapper.

protected UserRepresentation loginAsUserTwiceWithMapper(IdentityProviderMapperSyncMode syncMode, boolean createAfterFirstLogin, Map<String, List<String>> userConfig) {
    final IdentityProviderRepresentation idp = setupIdentityProvider();
    if (!createAfterFirstLogin) {
        createMapperInIdp(idp, syncMode);
    }
    createUserInProviderRealm(userConfig);
    createUserRoleAndGrantToUserInProviderRealm();
    logInAsUserInIDPForFirstTime();
    UserRepresentation user = findUser(bc.consumerRealmName(), bc.getUserLogin(), bc.getUserEmail());
    if (!createAfterFirstLogin) {
        assertThatRoleHasBeenAssignedInConsumerRealmTo(user);
    } else {
        assertThatRoleHasNotBeenAssignedInConsumerRealmTo(user);
    }
    if (createAfterFirstLogin) {
        createMapperInIdp(idp, syncMode);
    }
    logoutFromRealm(getConsumerRoot(), bc.consumerRealmName());
    updateUser();
    logInAsUserInIDP();
    user = findUser(bc.consumerRealmName(), bc.getUserLogin(), bc.getUserEmail());
    return user;
}
Also used : IdentityProviderRepresentation(org.keycloak.representations.idm.IdentityProviderRepresentation) UserRepresentation(org.keycloak.representations.idm.UserRepresentation)

Example 72 with IdentityProviderRepresentation

use of org.keycloak.representations.idm.IdentityProviderRepresentation in project keycloak by keycloak.

the class BrokerWithLegacyIdTest method getBrokerConfiguration.

@Override
protected BrokerConfiguration getBrokerConfiguration() {
    return new KcOidcBrokerConfiguration() {

        @Override
        public IdentityProviderRepresentation setUpIdentityProvider(IdentityProviderSyncMode syncMode) {
            IdentityProviderRepresentation idp = super.setUpIdentityProvider(syncMode);
            idp.setProviderId(LegacyIdIdentityProviderFactory.PROVIDER_ID);
            return idp;
        }
    };
}
Also used : IdentityProviderSyncMode(org.keycloak.models.IdentityProviderSyncMode) IdentityProviderRepresentation(org.keycloak.representations.idm.IdentityProviderRepresentation)

Example 73 with IdentityProviderRepresentation

use of org.keycloak.representations.idm.IdentityProviderRepresentation in project keycloak by keycloak.

the class JsonUserAttributeMapperTest method loginAsUserTwiceWithMapper.

private UserRepresentation loginAsUserTwiceWithMapper(IdentityProviderMapperSyncMode syncMode, boolean createAfterFirstLogin, String claim, String updatedValue) {
    final IdentityProviderRepresentation idp = setupIdentityProvider();
    if (!createAfterFirstLogin) {
        createGithubProviderMapper(idp, syncMode);
    }
    createUserInProviderRealm(new HashMap<>());
    logInAsUserInIDPForFirstTime();
    UserRepresentation user = findUser(bc.consumerRealmName(), bc.getUserLogin(), bc.getUserEmail());
    if (!createAfterFirstLogin) {
        assertUserAttribute(HARDOCDED_VALUE, user);
    } else {
        assertAbsentUserAttribute(user);
    }
    if (createAfterFirstLogin) {
        createGithubProviderMapper(idp, syncMode);
    }
    logoutFromRealm(getConsumerRoot(), bc.consumerRealmName());
    if (!createAfterFirstLogin) {
        updateClaimSentToIDP(claim, updatedValue);
    }
    logInAsUserInIDP();
    return findUser(bc.consumerRealmName(), bc.getUserLogin(), bc.getUserEmail());
}
Also used : IdentityProviderRepresentation(org.keycloak.representations.idm.IdentityProviderRepresentation) UserRepresentation(org.keycloak.representations.idm.UserRepresentation)

Example 74 with IdentityProviderRepresentation

use of org.keycloak.representations.idm.IdentityProviderRepresentation in project keycloak by keycloak.

the class HardcodedUserAttributeMapperTest method loginAsUserTwiceWithMapper.

protected UserRepresentation loginAsUserTwiceWithMapper(IdentityProviderMapperSyncMode syncMode, boolean createAfterFirstLogin) {
    final IdentityProviderRepresentation idp = setupIdentityProvider();
    if (!createAfterFirstLogin) {
        createMapperInIdp(idp, syncMode);
    }
    createUserInProviderRealm();
    logInAsUserInIDPForFirstTime();
    UserRepresentation user = findUser(bc.consumerRealmName(), bc.getUserLogin(), bc.getUserEmail());
    if (!createAfterFirstLogin) {
        assertThatAttributeHasBeenAssigned(user);
    } else {
        assertThatAttributeHasNotBeenAssigned(user);
    }
    if (createAfterFirstLogin) {
        createMapperInIdp(idp, syncMode);
    }
    logoutFromRealm(getConsumerRoot(), bc.consumerRealmName());
    if (user.getAttributes() != null) {
        user.setAttributes(new HashMap<>());
    }
    adminClient.realm(bc.consumerRealmName()).users().get(user.getId()).update(user);
    logInAsUserInIDP();
    return findUser(bc.consumerRealmName(), bc.getUserLogin(), bc.getUserEmail());
}
Also used : IdentityProviderRepresentation(org.keycloak.representations.idm.IdentityProviderRepresentation) UserRepresentation(org.keycloak.representations.idm.UserRepresentation)

Example 75 with IdentityProviderRepresentation

use of org.keycloak.representations.idm.IdentityProviderRepresentation in project keycloak by keycloak.

the class KcOIDCBrokerWithSignatureTest method testClearKeysCache.

@Test
public void testClearKeysCache() throws Exception {
    // Configure OIDC identity provider with JWKS URL
    updateIdentityProviderWithJwksUrl();
    // Check that user is able to login
    logInAsUserInIDPForFirstTime();
    assertLoggedInAccountManagement();
    logoutFromRealm(getConsumerRoot(), bc.consumerRealmName());
    // Check that key is cached
    IdentityProviderRepresentation idpRep = getIdentityProvider();
    String expectedCacheKey = PublicKeyStorageUtils.getIdpModelCacheKey(consumerRealm().toRepresentation().getId(), idpRep.getInternalId());
    TestingCacheResource cache = testingClient.testing(bc.consumerRealmName()).cache(InfinispanConnectionProvider.KEYS_CACHE_NAME);
    Assert.assertTrue(cache.contains(expectedCacheKey));
    // Clear cache and check nothing cached
    consumerRealm().clearKeysCache();
    Assert.assertFalse(cache.contains(expectedCacheKey));
    Assert.assertEquals(cache.size(), 0);
}
Also used : TestingCacheResource(org.keycloak.testsuite.client.resources.TestingCacheResource) IdentityProviderRepresentation(org.keycloak.representations.idm.IdentityProviderRepresentation) Test(org.junit.Test)

Aggregations

IdentityProviderRepresentation (org.keycloak.representations.idm.IdentityProviderRepresentation)91 Test (org.junit.Test)45 IdentityProviderResource (org.keycloak.admin.client.resource.IdentityProviderResource)23 RealmResource (org.keycloak.admin.client.resource.RealmResource)22 UserRepresentation (org.keycloak.representations.idm.UserRepresentation)17 ClientRepresentation (org.keycloak.representations.idm.ClientRepresentation)16 Response (javax.ws.rs.core.Response)15 Matchers.containsString (org.hamcrest.Matchers.containsString)10 List (java.util.List)9 MultipartFormDataOutput (org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataOutput)8 URL (java.net.URL)7 IdentityProviderMapperRepresentation (org.keycloak.representations.idm.IdentityProviderMapperRepresentation)7 OAuthClient (org.keycloak.testsuite.util.OAuthClient)7 IOException (java.io.IOException)6 URI (java.net.URI)6 Map (java.util.Map)6 Matchers.hasSize (org.hamcrest.Matchers.hasSize)6 Matchers.is (org.hamcrest.Matchers.is)6 SAMLIdentityProviderConfig (org.keycloak.broker.saml.SAMLIdentityProviderConfig)6 AttributeType (org.keycloak.dom.saml.v2.assertion.AttributeType)6