Credential Verification

Validate Verifiable Credentials using Verification Service.

Install Dependency

Package: pkg:maven/com.affinidi.tdk/credential.verification.client

<dependency>
    <groupId>com.affinidi.tdk</groupId>
    <artifactId>credential.verification.client</artifactId>
    <version><version_number></version>
</dependency>

You can check the latest version of this module on the Maven repository or view the source code at the GitHub repository.

Classes and Methods

Default API

Verify Verifiable Credentials and Verifiable Presentations.

verifyCredentials

Generate and issue a credentil offer to the user.

Parameters

VerifyCredentialInput [Object]

JSON object to provide the Verifiable Credentials to validate.

Example

import com.affinidi.tdk.authProvider.AuthProvider;
import com.affinidi.tdk.credential.verification.client.Configuration;
import com.affinidi.tdk.credential.verification.client.ApiClient;
import com.affinidi.tdk.credential.verification.client.auth.ApiKeyAuth;
import com.affinidi.tdk.credential.verification.client.models.VerifyCredentialInput;
import com.affinidi.tdk.credential.verification.client.models.VerifyCredentialOutput;
import com.affinidi.tdk.credential.verification.client.models.W3cCredential;
import com.affinidi.tdk.credential.verification.client.models.W3cCredentialCredentialSchema;
import com.affinidi.tdk.credential.verification.client.models.W3cCredentialCredentialSubject;
import com.affinidi.tdk.credential.verification.client.models.W3cCredentialHolder;
import com.affinidi.tdk.credential.verification.client.models.W3cCredentialStatus;
import com.affinidi.tdk.credential.verification.client.models.W3cPresentationContext;
import com.affinidi.tdk.credential.verification.client.models.W3cProof;
import com.affinidi.tdk.credential.verification.client.apis.DefaultApi;

try {

    ApiClient defaultClient = Configuration.getDefaultApiClient();
    // Configure API key authorization: ProjectTokenAuth
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    DefaultApi apiInstance = new DefaultApi(defaultClient);

    ArrayList<W3cCredential> vcData = new ArrayList<W3cCredential>(List.of(new W3cCredential()
        .atContext(new W3cPresentationContext())
        .id("")
        .type(new ArrayList<String>())
        .holder(new W3cCredentialHolder())
        .credentialSubject(new W3cCredentialCredentialSubject())
        .credentialStatus(new W3cCredentialStatus())
        .issuanceDate("")
        .issuer("")
        .expirationDate("")
        .proof(new W3cProof())
        .credentialSchema(new W3cCredentialCredentialSchema())
    ));

    VerifyCredentialInput requestInput = new VerifyCredentialInput()
            .verifiableCredentials(vcData);

    VerifyCredentialOutput response = apiInstance.verifyCredentials(requestInput);

    System.out.println(response.toString());

} catch (Exception e) {
    e.printStackTrace();
}

verifyPresentation

Generate and issue a credentil offer to the user.

Parameters

VerifyPresentationInput [Object]

JSON object to provide the Verifiable Presentation to validate.

Example

import com.affinidi.tdk.authProvider.AuthProvider;
import com.affinidi.tdk.credential.verification.client.Configuration;
import com.affinidi.tdk.credential.verification.client.ApiClient;
import com.affinidi.tdk.credential.verification.client.auth.ApiKeyAuth;
import com.affinidi.tdk.credential.verification.client.models.VerifyPresentationInput;
import com.affinidi.tdk.credential.verification.client.models.VerifyPresentationOutput;
import com.affinidi.tdk.credential.verification.client.models.W3cPresentation;
import com.affinidi.tdk.credential.verification.client.apis.DefaultApi;

try {

    ApiClient defaultClient = Configuration.getDefaultApiClient();
    // Configure API key authorization: ProjectTokenAuth
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    DefaultApi apiInstance = new DefaultApi(defaultClient);

    VerifyPresentationInput requestInput = new VerifyPresentationInput()
            .verifiablePresentation(new W3cPresentation())
            .signedPresentation(new W3cPresentation())
            .presentationDefinition(new Object())
            .presentationSubmission(new Object())
            .challenge("");

    VerifyPresentationOutput response = apiInstance.verifyPresentation(requestInput);

    System.out.println(response.toString());

} catch (Exception e) {
    e.printStackTrace();
}