
one.credify.sdk.impl.ClaimsServiceImpl Maven / Gradle / Ivy
package one.credify.sdk.impl;
import one.credify.crypto.Jwt;
import one.credify.sdk.ClaimsService;
import one.credify.sdk.CredifyConfig;
import one.credify.sdk.restapi.CredifyRestV1;
import org.apache.commons.lang3.tuple.Pair;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ClaimsServiceImpl implements ClaimsService {
private final CredifyRestV1 credifyClient;
private final CredifyConfig config;
public ClaimsServiceImpl(CredifyConfig config, CredifyRestV1 credifyClient) {
this.config = config;
this.credifyClient = credifyClient;
}
@Override
public void pushClaim(String id, String entityId, Map claim) throws Exception {
Pair, Map> claimTokens = claimTokens(id, entityId, claim);
credifyClient.pushClaimProvider(entityId, claimTokens.getKey());
}
@Override
public Pair, Map> claimTokens(String id, String entityId, Map claim) throws Exception {
List claimTokens = new ArrayList<>();
Map commitmentsCompose = new HashMap<>();
for (Map.Entry entry : claim.entrySet()) {
String key = entry.getKey();
String token = config.getSigning().generateClaimToken(id, entityId, key, claim);
claimTokens.add(token);
commitmentsCompose.put(key, (String) Jwt.parseJwt(token).getPayload().get("scope_hash"));
}
return Pair.of(claimTokens, commitmentsCompose);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy