Interoperability

Introduction

Affinidi has an interoperability test harness deployed at https://api.affinidi.com/interop

At this site, decentralized identity community members can test if their DID methods, VCs, VPs, and wallets can already work with Affinidi's SDKs and services.

Each feature directly calls an Affinidi SDK or utility function and returns the result.

PortalSwagger

Server

This service provides endpoints which facilitate interoperability with the Affinidi platform. For more details, check the API swagger documentation at https://api.staging.affinity-project.org/interop/v1/api-docs/

Currently, it is used by the Bloom Wallet to easily perform certain checks and build various flows, such as:

Endpoints for Checking conditions:

  • check if a DID is resolvable by Affinidi
    • POST /interop/did-is-resolvable
  • check if a VC (Verifiable Credential) is verifiable by Affinidi
    • POST /interop/vc-is-verifiable
  • check if a VP (Verifiable Presentation) is verifiable by Affinidi
    • POST /interop/vp-is-verifiable

Endpoints for Building Flows

  • VC Claiming Flow: There are 2 endpoints to help with this flow
    • POST /interop/offer-request-token
    • GET /interop/offer-request-token/{uuid}
    • POST /interop/sign-credential
VC Claim
  • VP Request and Sharing Flow: There are 2 endpoints to help with this flow
    • POST /interop/presentation-challenge
    • GET /interop/presentation-challenge/{uuid}
    • POST /interop/verify-presentation
VP Request

DID Methods

Affinidi SDKs currently can resolve Jolo and Elem DIDs.

Credential Schemas

Affinidi SDKs should be able to verify any JSON-LD VC.

TODO info about types.

Credential Storage

Bloom Encrypted Data Vault

Presentation Exchange

Affinidi SDKs should be able to verify any JSON-LD VP.

On the interoperability tester site, 3rd party wallets can scan a QR code and try to share a VP to an Affinidi verifier

Credential Issuance

On the interoperability tester site, 3rd party wallets can scan a QR code and try to claim a demo VC from an Affinidi issuer.

Revocation Methods

Affinidi supports RevocationList2020.

Selective Disclosure

Affinidi does not support a selective disclosure VC type yet.