Credential Verification

Validate Verifiable Credentials using Verification Service.

Install Dependency

Package: affinidi_tdk_credential_verification_client

  dart pub add affinidi_tdk_credential_verification

Check the latest version on pub.dev or view the source on GitHub.

Classes and Methods

Default API

Verify Verifiable Credentials and Verifiable Presentations.

verifyCredentials

Verifies verifiable credentials.

Parameters

verifyCredentialInput VerifyCredentialInput Required
List of verifiable credentials to validate.

Example

import 'package:dio/dio.dart';
import 'package:affinidi_tdk_auth_provider/affinidi_tdk_auth_provider.dart';
import 'package:dotenv/dotenv.dart';
import 'package:affinidi_tdk_credential_verification_client/affinidi_tdk_credential_verification_client.dart';
import 'package:ssi/ssi.dart';

try {
    late DefaultApi defaultApi;

    final dio = Dio(
      BaseOptions(
        baseUrl: AffinidiTdkCredentialVerificationClient.basePath,
        connectTimeout: const Duration(seconds: 5),
        receiveTimeout: const Duration(seconds: 5),
      ),
    );
    final apiClient = AffinidiTdkCredentialVerificationClient(
      dio: dio,
      authTokenHook: authProvider.fetchProjectScopedToken,
    );
    defaultApi = apiClient.getDefaultApi();

   final verifiableCredentials = ListBuilder<W3cCredential>()
      ..add(W3cCredential((b) => b
        ..atContext = W3cPresentationContextBuilder()
        ..id = ''
        ..type = ListBuilder<String>()
        ..holder = W3cCredentialHolderBuilder()
        ..credentialSubject = W3cCredentialCredentialSubjectBuilder()
        ..credentialStatus = W3cCredentialStatusBuilder()
        ..issuanceDate = ''
        ..issuer = ''
        ..expirationDate = ''
        ..proof = W3cProofBuilder()
        ..credentialSchema = W3cCredentialCredentialSchemaBuilder()
      ));

  final verifyCredentialInput = VerifyCredentialInputBuilder()
      ..verifiableCredentials = verifiableCredentials;

    final response = (await defaultApi.verifyCredentials(verifyCredentialInput: verifyCredentialInput.build()));
      
    print(response);
  } catch (e) {
    print('Exception: $e');
  }

verifyPresentation

Verifies a verifiable presentation.

Parameters

verifyPresentationInput VerifyPresentationInput Required
Verifiable presentation to validate.

Example

import 'package:dio/dio.dart';
import 'package:affinidi_tdk_auth_provider/affinidi_tdk_auth_provider.dart';
import 'package:dotenv/dotenv.dart';
import 'package:affinidi_tdk_credential_verification_client/affinidi_tdk_credential_verification_client.dart';
import 'package:ssi/ssi.dart';

try {
    late DefaultApi defaultApi;

    final dio = Dio(
      BaseOptions(
        baseUrl: AffinidiTdkCredentialVerificationClient.basePath,
        connectTimeout: const Duration(seconds: 5),
        receiveTimeout: const Duration(seconds: 5),
      ),
    );
    final apiClient = AffinidiTdkCredentialVerificationClient(
      dio: dio,
      authTokenHook: authProvider.fetchProjectScopedToken,
    );
    defaultApi = apiClient.getDefaultApi();

    final verifiablePresentation = W3cPresentationBuilder();  
     
    final verifyPresentationInput = VerifyPresentationInputBuilder()
      ..verifiablePresentation = verifiablePresentation;

    final response = (await defaultApi.verifyPresentation(verifyPresentationInput: verifyPresentationInput.build()));
      
    print(response);
  } catch (e) {
    print('Exception: $e');
  }