Search in sources :

Example 11 with ClaimMapping

use of org.wso2.carbon.user.api.ClaimMapping in project carbon-apimgt by wso2.

the class KeyManagerMappingUtil method toKeyManagerConfigurationDTO.

public static KeyManagerConfigurationDTO toKeyManagerConfigurationDTO(String tenantDomain, KeyManagerDTO keyManagerDTO) {
    KeyManagerConfigurationDTO keyManagerConfigurationDTO = new KeyManagerConfigurationDTO();
    Map<String, String> endpoints = new HashMap<>();
    keyManagerConfigurationDTO.setName(keyManagerDTO.getName());
    keyManagerConfigurationDTO.setDisplayName(keyManagerDTO.getDisplayName());
    keyManagerConfigurationDTO.setDescription(keyManagerDTO.getDescription());
    keyManagerConfigurationDTO.setEnabled(keyManagerDTO.isEnabled());
    keyManagerConfigurationDTO.setType(keyManagerDTO.getType());
    keyManagerConfigurationDTO.setOrganization(tenantDomain);
    keyManagerConfigurationDTO.setTokenType(keyManagerDTO.getTokenType().toString());
    keyManagerConfigurationDTO.setAlias(keyManagerDTO.getAlias());
    Map<String, Object> additionalProperties = new HashMap();
    if (keyManagerDTO.getAdditionalProperties() != null && keyManagerDTO.getAdditionalProperties() instanceof Map) {
        additionalProperties.putAll((Map) keyManagerDTO.getAdditionalProperties());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getClientRegistrationEndpoint())) {
        additionalProperties.put(APIConstants.KeyManager.CLIENT_REGISTRATION_ENDPOINT, keyManagerDTO.getClientRegistrationEndpoint());
        endpoints.put(APIConstants.KeyManager.CLIENT_REGISTRATION_ENDPOINT, keyManagerDTO.getClientRegistrationEndpoint());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getIntrospectionEndpoint())) {
        additionalProperties.put(APIConstants.KeyManager.INTROSPECTION_ENDPOINT, keyManagerDTO.getIntrospectionEndpoint());
        endpoints.put(APIConstants.KeyManager.INTROSPECTION_ENDPOINT, keyManagerDTO.getIntrospectionEndpoint());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getTokenEndpoint())) {
        additionalProperties.put(APIConstants.KeyManager.TOKEN_ENDPOINT, keyManagerDTO.getTokenEndpoint());
        endpoints.put(APIConstants.KeyManager.TOKEN_ENDPOINT, keyManagerDTO.getTokenEndpoint());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getDisplayTokenEndpoint())) {
        additionalProperties.put(APIConstants.KeyManager.DISPLAY_TOKEN_ENDPOINT, keyManagerDTO.getDisplayTokenEndpoint());
        endpoints.put(APIConstants.KeyManager.DISPLAY_TOKEN_ENDPOINT, keyManagerDTO.getDisplayTokenEndpoint());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getRevokeEndpoint())) {
        additionalProperties.put(APIConstants.KeyManager.REVOKE_ENDPOINT, keyManagerDTO.getRevokeEndpoint());
        endpoints.put(APIConstants.KeyManager.REVOKE_ENDPOINT, keyManagerDTO.getRevokeEndpoint());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getDisplayRevokeEndpoint())) {
        additionalProperties.put(APIConstants.KeyManager.DISPLAY_REVOKE_ENDPOINT, keyManagerDTO.getDisplayRevokeEndpoint());
        endpoints.put(APIConstants.KeyManager.DISPLAY_REVOKE_ENDPOINT, keyManagerDTO.getDisplayRevokeEndpoint());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getScopeManagementEndpoint())) {
        additionalProperties.put(APIConstants.KeyManager.SCOPE_MANAGEMENT_ENDPOINT, keyManagerDTO.getScopeManagementEndpoint());
        endpoints.put(APIConstants.KeyManager.SCOPE_MANAGEMENT_ENDPOINT, keyManagerDTO.getScopeManagementEndpoint());
    }
    if (keyManagerDTO.getAvailableGrantTypes() != null) {
        additionalProperties.put(APIConstants.KeyManager.AVAILABLE_GRANT_TYPE, keyManagerDTO.getAvailableGrantTypes());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getIssuer())) {
        additionalProperties.put(APIConstants.KeyManager.ISSUER, keyManagerDTO.getIssuer());
    }
    if (keyManagerDTO.getCertificates() != null) {
        additionalProperties.put(APIConstants.KeyManager.CERTIFICATE_VALUE, keyManagerDTO.getCertificates().getValue());
        if (KeyManagerCertificatesDTO.TypeEnum.JWKS.equals(keyManagerDTO.getCertificates().getType())) {
            additionalProperties.put(APIConstants.KeyManager.CERTIFICATE_TYPE, APIConstants.KeyManager.CERTIFICATE_TYPE_JWKS_ENDPOINT);
        } else if (KeyManagerCertificatesDTO.TypeEnum.PEM.equals(keyManagerDTO.getCertificates().getType())) {
            additionalProperties.put(APIConstants.KeyManager.CERTIFICATE_TYPE, APIConstants.KeyManager.CERTIFICATE_TYPE_PEM_FILE);
        }
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getUserInfoEndpoint())) {
        additionalProperties.put(APIConstants.KeyManager.USERINFO_ENDPOINT, keyManagerDTO.getUserInfoEndpoint());
        endpoints.put(APIConstants.KeyManager.USERINFO_ENDPOINT, keyManagerDTO.getUserInfoEndpoint());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getAuthorizeEndpoint())) {
        additionalProperties.put(APIConstants.KeyManager.AUTHORIZE_ENDPOINT, keyManagerDTO.getAuthorizeEndpoint());
        endpoints.put(APIConstants.KeyManager.AUTHORIZE_ENDPOINT, keyManagerDTO.getAuthorizeEndpoint());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getWellKnownEndpoint())) {
        additionalProperties.put(APIConstants.KeyManager.WELL_KNOWN_ENDPOINT, keyManagerDTO.getWellKnownEndpoint());
    }
    if (keyManagerDTO.getEndpoints() != null) {
        for (KeyManagerEndpointDTO endpoint : keyManagerDTO.getEndpoints()) {
            endpoints.put(endpoint.getName(), endpoint.getValue());
        }
    }
    keyManagerConfigurationDTO.setEndpoints(endpoints);
    additionalProperties.put(APIConstants.KeyManager.ENABLE_OAUTH_APP_CREATION, keyManagerDTO.isEnableOAuthAppCreation());
    additionalProperties.put(APIConstants.KeyManager.ENABLE_MAP_OAUTH_CONSUMER_APPS, keyManagerDTO.isEnableMapOAuthConsumerApps());
    additionalProperties.put(APIConstants.KeyManager.ENABLE_TOKEN_GENERATION, keyManagerDTO.isEnableTokenGeneration());
    additionalProperties.put(APIConstants.KeyManager.ENABLE_TOKEN_HASH, keyManagerDTO.isEnableTokenHashing());
    additionalProperties.put(APIConstants.KeyManager.ENABLE_TOKEN_ENCRYPTION, keyManagerDTO.isEnableTokenEncryption());
    additionalProperties.put(APIConstants.KeyManager.SELF_VALIDATE_JWT, keyManagerDTO.isEnableSelfValidationJWT());
    List<TokenValidationDTO> tokenValidationDTOList = keyManagerDTO.getTokenValidation();
    if (tokenValidationDTOList != null && !tokenValidationDTOList.isEmpty()) {
        additionalProperties.put(APIConstants.KeyManager.TOKEN_FORMAT_STRING, new Gson().toJson(tokenValidationDTOList));
    }
    List<ClaimMappingEntryDTO> claimMapping = keyManagerDTO.getClaimMapping();
    if (claimMapping != null) {
        additionalProperties.put(APIConstants.KeyManager.CLAIM_MAPPING, new Gson().toJsonTree(claimMapping));
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getConsumerKeyClaim())) {
        additionalProperties.put(APIConstants.KeyManager.CONSUMER_KEY_CLAIM, keyManagerDTO.getConsumerKeyClaim());
    }
    if (StringUtils.isNotEmpty(keyManagerDTO.getScopesClaim())) {
        additionalProperties.put(APIConstants.KeyManager.SCOPES_CLAIM, keyManagerDTO.getScopesClaim());
    }
    keyManagerConfigurationDTO.setAdditionalProperties(additionalProperties);
    return keyManagerConfigurationDTO;
}
Also used : KeyManagerConfigurationDTO(org.wso2.carbon.apimgt.api.dto.KeyManagerConfigurationDTO) KeyManagerEndpointDTO(org.wso2.carbon.apimgt.rest.api.admin.v1.dto.KeyManagerEndpointDTO) HashMap(java.util.HashMap) TokenValidationDTO(org.wso2.carbon.apimgt.rest.api.admin.v1.dto.TokenValidationDTO) Gson(com.google.gson.Gson) ClaimMappingEntryDTO(org.wso2.carbon.apimgt.rest.api.admin.v1.dto.ClaimMappingEntryDTO) JsonObject(com.google.gson.JsonObject) HashMap(java.util.HashMap) Map(java.util.Map)

Aggregations

HashMap (java.util.HashMap)4 Map (java.util.Map)4 JsonObject (com.google.gson.JsonObject)3 ClaimMapping (org.wso2.carbon.identity.application.common.model.ClaimMapping)3 Gson (com.google.gson.Gson)2 JsonArray (com.google.gson.JsonArray)2 ArrayList (java.util.ArrayList)2 Ignore (org.junit.Ignore)2 Test (org.junit.Test)2 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)2 APIManagementException (org.wso2.carbon.apimgt.api.APIManagementException)2 ClaimMappingDto (org.wso2.carbon.apimgt.common.gateway.dto.ClaimMappingDto)2 APIKeyValidationInfoDTO (org.wso2.carbon.apimgt.impl.dto.APIKeyValidationInfoDTO)2 TokenValidationContext (org.wso2.carbon.apimgt.keymgt.service.TokenValidationContext)2 AuthenticatedUser (org.wso2.carbon.identity.application.authentication.framework.model.AuthenticatedUser)2 ClaimConfig (org.wso2.carbon.identity.application.common.model.ClaimConfig)2 JsonElement (com.google.gson.JsonElement)1 JWTClaimsSet (com.nimbusds.jwt.JWTClaimsSet)1 SignedJWT (com.nimbusds.jwt.SignedJWT)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1