Search in sources :

Example 11 with Claim

use of org.wso2.carbon.user.core.claim.Claim in project carbon-apimgt by wso2.

the class AMDefaultKeyManagerImpl method getUserClaims.

@Override
public Map<String, String> getUserClaims(String username, Map<String, Object> properties) throws APIManagementException {
    Map<String, String> map = new HashMap<String, String>();
    String tenantAwareUserName = MultitenantUtils.getTenantAwareUsername(username);
    UserInfoDTO userinfo = new UserInfoDTO();
    userinfo.setUsername(tenantAwareUserName);
    if (tenantAwareUserName.contains(CarbonConstants.DOMAIN_SEPARATOR)) {
        userinfo.setDomain(tenantAwareUserName.split(CarbonConstants.DOMAIN_SEPARATOR)[0]);
    }
    if (properties.containsKey(APIConstants.KeyManager.ACCESS_TOKEN)) {
        userinfo.setAccessToken(properties.get(APIConstants.KeyManager.ACCESS_TOKEN).toString());
    }
    if (properties.containsKey(APIConstants.KeyManager.CLAIM_DIALECT)) {
        userinfo.setDialectURI(properties.get(APIConstants.KeyManager.CLAIM_DIALECT).toString());
    }
    if (properties.containsKey(APIConstants.KeyManager.BINDING_FEDERATED_USER_CLAIMS)) {
        userinfo.setBindFederatedUserClaims(Boolean.valueOf(properties.get(APIConstants.KeyManager.BINDING_FEDERATED_USER_CLAIMS).toString()));
    }
    try {
        ClaimsList claims = userClient.generateClaims(userinfo);
        if (claims != null && claims.getList() != null) {
            for (Claim claim : claims.getList()) {
                map.put(claim.getUri(), claim.getValue());
            }
        }
    } catch (KeyManagerClientException e) {
        handleException("Error while getting user info", e);
    }
    return map;
}
Also used : KeyManagerClientException(org.wso2.carbon.apimgt.impl.kmclient.KeyManagerClientException) HashMap(java.util.HashMap) ClaimsList(org.wso2.carbon.apimgt.impl.kmclient.model.ClaimsList) UserInfoDTO(org.wso2.carbon.apimgt.impl.dto.UserInfoDTO) Claim(org.wso2.carbon.apimgt.impl.kmclient.model.Claim)

Example 12 with Claim

use of org.wso2.carbon.user.core.claim.Claim in project carbon-apimgt by wso2.

the class SubscriptionMappingUtil method fromSubscriberClaimsToDTO.

/**
 * Convert Subscriber claims information into SubscriberInfoDTO
 *
 * @param subscriberClaims list of subscriber claims
 * @param subscriberName   subscriber name
 * @return SubscriberInfoDTO
 * @throws APIManagementException If an error occurs when getting display name of claim
 */
public static SubscriberInfoDTO fromSubscriberClaimsToDTO(Map<String, String> subscriberClaims, String subscriberName) throws APIManagementException {
    SubscriberInfoDTO subscriberInfoDTO = new SubscriberInfoDTO();
    subscriberInfoDTO.setName(subscriberName);
    List<ClaimDTO> claimDTOList = new ArrayList<>();
    for (String key : subscriberClaims.keySet()) {
        ClaimDTO claimDTO = new ClaimDTO();
        claimDTO.setName(APIUtil.getClaimDisplayName(key, subscriberName));
        claimDTO.setURI(key);
        claimDTO.setValue(subscriberClaims.get(key));
        claimDTOList.add(claimDTO);
    }
    subscriberInfoDTO.setClaims(claimDTOList);
    return subscriberInfoDTO;
}
Also used : ClaimDTO(org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.ClaimDTO) ArrayList(java.util.ArrayList) SubscriberInfoDTO(org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.SubscriberInfoDTO)

Example 13 with Claim

use of org.wso2.carbon.user.core.claim.Claim in project core-util by WSO2Telco.

the class ClaimUtil method convertToClaims.

public org.wso2.carbon.user.core.claim.Claim[] convertToClaims(ClaimDTO[] claims) {
    if (claims == null) {
        return new org.wso2.carbon.user.core.claim.Claim[0];
    }
    org.wso2.carbon.user.core.claim.Claim[] claimz = new org.wso2.carbon.user.core.claim.Claim[claims.length];
    int i = 0;
    for (ClaimDTO claim : claims) {
        claimz[i] = convertToClaim(claim);
        i++;
    }
    return claimz;
}
Also used : ClaimDTO(org.wso2.carbon.um.ws.api.stub.ClaimDTO)

Example 14 with Claim

use of org.wso2.carbon.user.core.claim.Claim in project core-util by WSO2Telco.

the class UserClaimProsser method getUserClaimsByUserName.

public Map<ClaimName, String> getUserClaimsByUserName(String userName) {
    try {
        APIManagerConfiguration config = HostObjectComponent.getAPIManagerConfiguration();
        String remoteUserStoreManagerServiceEndpoint = config.getFirstProperty(APIConstants.AUTH_MANAGER_URL) + AdminServicePath.REMOTE_USER_STORE_MANAGER_SERVICE.getTObject();
        String adminUsername = config.getFirstProperty(APIConstants.AUTH_MANAGER_USERNAME);
        String adminPassword = config.getFirstProperty(APIConstants.AUTH_MANAGER_PASSWORD);
        RemoteUserStoreManagerServiceStub userStoreManagerStub = new RemoteUserStoreManagerServiceStub(remoteUserStoreManagerServiceEndpoint);
        CarbonUtils.setBasicAccessSecurityHeaders(adminUsername, adminPassword, userStoreManagerStub._getServiceClient());
        ClaimUtil claimUtil = new ClaimUtil();
        Claim[] claims = claimUtil.convertToClaims(userStoreManagerStub.getUserClaimValues(userName, UserProfileType.DEFAULT.getTObject()));
        List<ClaimName> somethingList = Arrays.asList(ClaimName.values());
        for (Iterator<ClaimName> iterator = somethingList.iterator(); iterator.hasNext(); ) {
            ClaimName claimName = iterator.next();
            getClaimValue(claims, claimName);
        }
    } catch (RemoteException | RemoteUserStoreManagerServiceUserStoreExceptionException e) {
        log.error("unable to retrieve claims for user " + userName + " : ", e);
        return Collections.emptyMap();
    }
    return userClaimDetails;
}
Also used : ClaimName(com.wso2telco.core.userprofile.util.ClaimName) APIManagerConfiguration(org.wso2.carbon.apimgt.impl.APIManagerConfiguration) ClaimUtil(com.wso2telco.core.userprofile.util.ClaimUtil) RemoteUserStoreManagerServiceStub(org.wso2.carbon.um.ws.api.stub.RemoteUserStoreManagerServiceStub) RemoteException(java.rmi.RemoteException) Claim(org.wso2.carbon.user.core.claim.Claim) RemoteUserStoreManagerServiceUserStoreExceptionException(org.wso2.carbon.um.ws.api.stub.RemoteUserStoreManagerServiceUserStoreExceptionException)

Example 15 with Claim

use of org.wso2.carbon.user.core.claim.Claim in project core-util by WSO2Telco.

the class UserClaimProsser method getClaimValue.

private void getClaimValue(Claim[] claims, ClaimName claimName) {
    for (int i = 0; i < claims.length; i++) {
        Claim claim = claims[i];
        if (claim.getClaimUri().equalsIgnoreCase(claimName.getClaimURL())) {
            String claimValue = claim.getValue();
            userClaimDetails.put(claimName, claimValue);
        }
    }
}
Also used : Claim(org.wso2.carbon.user.core.claim.Claim)

Aggregations

UserRealm (org.wso2.carbon.user.core.UserRealm)5 UserStoreManager (org.wso2.carbon.user.core.UserStoreManager)5 ArrayList (java.util.ArrayList)4 XSString (org.opensaml.core.xml.schema.XSString)4 RealmService (org.wso2.carbon.user.core.service.RealmService)4 ByteArrayInputStream (java.io.ByteArrayInputStream)3 IOException (java.io.IOException)3 HashMap (java.util.HashMap)3 Assertion (org.opensaml.saml.saml2.core.Assertion)3 Response (org.opensaml.saml.saml2.core.Response)3 Subject (org.opensaml.saml.saml2.core.Subject)3 APIManagementException (org.wso2.carbon.apimgt.api.APIManagementException)3 AuthenticatorsConfiguration (org.wso2.carbon.core.security.AuthenticatorsConfiguration)3 UserStoreException (org.wso2.carbon.user.api.UserStoreException)3 UserStoreException (org.wso2.carbon.user.core.UserStoreException)3 Claim (org.wso2.carbon.user.core.claim.Claim)3 RemoteException (java.rmi.RemoteException)2 PreparedStatement (java.sql.PreparedStatement)2 ResultSet (java.sql.ResultSet)2 DocumentBuilder (javax.xml.parsers.DocumentBuilder)2