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

io.mosip.certify.api.spi.VCIssuancePlugin Maven / Gradle / Ivy

The newest version!
/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */
package io.mosip.certify.api.spi;

import foundation.identity.jsonld.JsonLDObject;
import io.mosip.certify.api.dto.VCRequestDto;
import io.mosip.certify.api.dto.VCResult;
import io.mosip.certify.api.exception.VCIExchangeException;

import java.util.Map;

public interface VCIssuancePlugin {

    /**
     * Applicable for formats : ldp_vc
     * @param vcRequestDto
     * @param holderId Holders key material as either DID / KID. This should be used for cryptographic binding of the VC
     * @param identityDetails Parsed access-token or introspect endpoint response if token is opaque.
     * @return
     */
    VCResult getVerifiableCredentialWithLinkedDataProof(VCRequestDto vcRequestDto, String holderId,
                                                                      Map identityDetails) throws VCIExchangeException;

    /**
     * Applicable for formats : jwt_vc_json, jwt_vc_json-ld, mso_doc
     * @param vcRequestDto
     * @param holderId
     * @param identityDetails
     * @return
     */
    VCResult getVerifiableCredential(VCRequestDto vcRequestDto, String holderId,
                                                                             Map identityDetails) throws VCIExchangeException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy