All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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