Search in sources :

Example 6 with IdentityProviderResource

use of org.keycloak.admin.client.resource.IdentityProviderResource in project keycloak by keycloak.

the class KcSamlUsernameTemplateMapperTest method createMapperInIdp.

@Override
protected void createMapperInIdp(IdentityProviderRepresentation idp, IdentityProviderMapperSyncMode syncMode) {
    IdentityProviderMapperRepresentation usernameTemplateMapper = new IdentityProviderMapperRepresentation();
    usernameTemplateMapper.setName("saml-username-template-mapper");
    usernameTemplateMapper.setIdentityProviderMapper(PROVIDER_ID);
    usernameTemplateMapper.setConfig(ImmutableMap.<String, String>builder().put(IdentityProviderMapperModel.SYNC_MODE, syncMode.toString()).put("template", "${ALIAS}-${ATTRIBUTE.user-attribute}").build());
    IdentityProviderResource idpResource = realm.identityProviders().get(idp.getAlias());
    usernameTemplateMapper.setIdentityProviderAlias(bc.getIDPAlias());
    idpResource.addMapper(usernameTemplateMapper).close();
}
Also used : IdentityProviderMapperRepresentation(org.keycloak.representations.idm.IdentityProviderMapperRepresentation) IdentityProviderResource(org.keycloak.admin.client.resource.IdentityProviderResource)

Example 7 with IdentityProviderResource

use of org.keycloak.admin.client.resource.IdentityProviderResource in project keycloak by keycloak.

the class OidcAdvancedClaimToGroupMapperTest method createMapperInIdp.

@Override
protected void createMapperInIdp(IdentityProviderRepresentation idp, String claimsOrAttributeRepresentation, boolean areClaimsOrAttributeValuesRegexes, IdentityProviderMapperSyncMode syncMode) {
    IdentityProviderMapperRepresentation advancedClaimToGroupMapper = new IdentityProviderMapperRepresentation();
    advancedClaimToGroupMapper.setName("advanced-claim-to-group-mapper");
    advancedClaimToGroupMapper.setIdentityProviderMapper(AdvancedClaimToGroupMapper.PROVIDER_ID);
    advancedClaimToGroupMapper.setConfig(ImmutableMap.<String, String>builder().put(IdentityProviderMapperModel.SYNC_MODE, syncMode.toString()).put(AdvancedClaimToGroupMapper.CLAIM_PROPERTY_NAME, claimsOrAttributeRepresentation).put(AdvancedClaimToGroupMapper.ARE_CLAIM_VALUES_REGEX_PROPERTY_NAME, areClaimsOrAttributeValuesRegexes ? "true" : "false").put(ConfigConstants.GROUP, MAPPER_TEST_GROUP_PATH).build());
    IdentityProviderResource idpResource = realm.identityProviders().get(idp.getAlias());
    advancedClaimToGroupMapper.setIdentityProviderAlias(bc.getIDPAlias());
    idpResource.addMapper(advancedClaimToGroupMapper).close();
}
Also used : IdentityProviderMapperRepresentation(org.keycloak.representations.idm.IdentityProviderMapperRepresentation) IdentityProviderResource(org.keycloak.admin.client.resource.IdentityProviderResource)

Example 8 with IdentityProviderResource

use of org.keycloak.admin.client.resource.IdentityProviderResource in project keycloak by keycloak.

the class OidcUserInfoClaimToRoleMapperTest method createClaimToRoleMapper.

private void createClaimToRoleMapper(IdentityProviderRepresentation idp, String claimValue, IdentityProviderMapperSyncMode syncMode) {
    IdentityProviderMapperRepresentation claimToRoleMapper = new IdentityProviderMapperRepresentation();
    claimToRoleMapper.setName("userinfo-claim-to-role-mapper");
    claimToRoleMapper.setIdentityProviderMapper(ClaimToRoleMapper.PROVIDER_ID);
    claimToRoleMapper.setConfig(ImmutableMap.<String, String>builder().put(IdentityProviderMapperModel.SYNC_MODE, syncMode.toString()).put(ClaimToRoleMapper.CLAIM, OidcUserInfoClaimToRoleMapperTest.USER_INFO_CLAIM).put(ClaimToRoleMapper.CLAIM_VALUE, claimValue).put(ConfigConstants.ROLE, CLIENT_ROLE_MAPPER_REPRESENTATION).build());
    IdentityProviderResource idpResource = realm.identityProviders().get(idp.getAlias());
    claimToRoleMapper.setIdentityProviderAlias(bc.getIDPAlias());
    idpResource.addMapper(claimToRoleMapper).close();
}
Also used : IdentityProviderResource(org.keycloak.admin.client.resource.IdentityProviderResource)

Example 9 with IdentityProviderResource

use of org.keycloak.admin.client.resource.IdentityProviderResource in project keycloak by keycloak.

the class KcOidcBrokerTest method createAdditionalMapperWithCustomSyncMode.

@Override
protected void createAdditionalMapperWithCustomSyncMode(IdentityProviderMapperSyncMode syncMode) {
    IdentityProviderMapperRepresentation friendlyManagerMapper = new IdentityProviderMapperRepresentation();
    friendlyManagerMapper.setName("friendly-manager-role-mapper");
    friendlyManagerMapper.setIdentityProviderMapper(ExternalKeycloakRoleToRoleMapper.PROVIDER_ID);
    friendlyManagerMapper.setConfig(ImmutableMap.<String, String>builder().put(IdentityProviderMapperModel.SYNC_MODE, syncMode.toString()).put("external.role", ROLE_FRIENDLY_MANAGER).put("role", ROLE_FRIENDLY_MANAGER).build());
    friendlyManagerMapper.setIdentityProviderAlias(bc.getIDPAlias());
    RealmResource realm = adminClient.realm(bc.consumerRealmName());
    IdentityProviderResource idpResource = realm.identityProviders().get(bc.getIDPAlias());
    idpResource.addMapper(friendlyManagerMapper).close();
}
Also used : IdentityProviderMapperRepresentation(org.keycloak.representations.idm.IdentityProviderMapperRepresentation) IdentityProviderResource(org.keycloak.admin.client.resource.IdentityProviderResource) RealmResource(org.keycloak.admin.client.resource.RealmResource)

Example 10 with IdentityProviderResource

use of org.keycloak.admin.client.resource.IdentityProviderResource in project keycloak by keycloak.

the class KcOidcFirstBrokerLoginDetectExistingUserTest method beforeBrokerTest.

@Override
@Before
public void beforeBrokerTest() {
    super.beforeBrokerTest();
    log.debug("creating detect existing user flow for realm " + bc.providerRealmName());
    final RealmResource consumerRealm = adminClient.realm(bc.consumerRealmName());
    AuthenticationManagementResource authMgmtResource = consumerRealm.flows();
    // Creates detectExistingUserFlow
    String detectExistingFlowAlias = "detectExistingUserFlow";
    final AuthenticationFlowRepresentation authenticationFlowRepresentation = newFlow(detectExistingFlowAlias, detectExistingFlowAlias, "basic-flow", true, false);
    authMgmtResource.createFlow(authenticationFlowRepresentation);
    AuthenticationFlowRepresentation authenticationFlowRepresentation1 = getFlow(authMgmtResource, detectExistingFlowAlias);
    assertNotNull("The authentication flow must exist", authenticationFlowRepresentation1);
    // retrieves the id of the newly created flow
    String flowId = authenticationFlowRepresentation1.getId();
    // Adds executions to the flow
    addExecution(authMgmtResource, flowId, IdpDetectExistingBrokerUserAuthenticatorFactory.PROVIDER_ID, 10);
    addExecution(authMgmtResource, flowId, IdpAutoLinkAuthenticatorFactory.PROVIDER_ID, 20);
    // Updates the FirstBrokerLoginFlowAlias for the identity provider
    IdentityProviderResource identityConsumerResource = consumerRealm.identityProviders().get(bc.getIDPAlias());
    IdentityProviderRepresentation identityProviderRepresentation = consumerRealm.identityProviders().findAll().get(0);
    identityProviderRepresentation.setFirstBrokerLoginFlowAlias(detectExistingFlowAlias);
    identityProviderRepresentation.getConfig().put(IdentityProviderModel.SYNC_MODE, IdentityProviderSyncMode.FORCE.toString());
    identityConsumerResource.update(identityProviderRepresentation);
    assertEquals("Two executions must have been created", 2, getFlow(authMgmtResource, detectExistingFlowAlias).getAuthenticationExecutions().size());
}
Also used : IdentityProviderResource(org.keycloak.admin.client.resource.IdentityProviderResource) AuthenticationManagementResource(org.keycloak.admin.client.resource.AuthenticationManagementResource) RealmResource(org.keycloak.admin.client.resource.RealmResource) AuthenticationFlowRepresentation(org.keycloak.representations.idm.AuthenticationFlowRepresentation) IdentityProviderRepresentation(org.keycloak.representations.idm.IdentityProviderRepresentation) Before(org.junit.Before)

Aggregations

IdentityProviderResource (org.keycloak.admin.client.resource.IdentityProviderResource)47 IdentityProviderMapperRepresentation (org.keycloak.representations.idm.IdentityProviderMapperRepresentation)26 IdentityProviderRepresentation (org.keycloak.representations.idm.IdentityProviderRepresentation)22 Test (org.junit.Test)20 Response (javax.ws.rs.core.Response)11 Matchers.containsString (org.hamcrest.Matchers.containsString)10 RealmResource (org.keycloak.admin.client.resource.RealmResource)9 Before (org.junit.Before)6 URL (java.net.URL)4 HashMap (java.util.HashMap)4 MultipartFormDataOutput (org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataOutput)4 ClientsResource (org.keycloak.admin.client.resource.ClientsResource)4 UsersResource (org.keycloak.admin.client.resource.UsersResource)4 ByteArrayInputStream (java.io.ByteArrayInputStream)3 IOException (java.io.IOException)3 URI (java.net.URI)3 List (java.util.List)3 Map (java.util.Map)3 Set (java.util.Set)3 NotFoundException (javax.ws.rs.NotFoundException)3