Credential Verification
Supported Languages
Package: @affinidi-tdk/credential-verification-client
npm install @affinidi-tdk/credential-verification-client --save
Package: affinidi_tdk_credential_verification_client
pip install affinidi_tdk_credential_verification_client
Package: affinidi-tdk/affinidi-tdk-php
composer require affinidi-tdk/affinidi-tdk-php
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>
Check the Maven repository for the latest version of the package.
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.
Module Imports
import { DefaultApi, Configuration, VerifyCredentialInput } from '@affinidi-tdk/credential-verification-client'
import affinidi_tdk_credential_verification_client
require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\CredentialVerificationClient;
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;
Sample Codes
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new DefaultApi(authConfiguration)
const request: VerifyCredentialInput = {
"verifiableCredentials": [
{
...
}
]
}
const { data } = await api.verifyCredentials(request)
configuration = affinidi_tdk_credential_verification_client.Configuration()
# Pass the projectScopedToken generated from AuthProvider package
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_verification_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_verification_client.DefaultApi(api_client)
request_json = {
"verifiableCredentials": [
{
...
}
]
}
verify_credentials_input = affinidi_tdk_credential_verification_client.VerifyCredentialInput.from_dict(request_json)
api_response = api_instance.verify_credentials(verify_credentials_input=verify_credentials_input)
$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
// Configure API key authorization: ProjectTokenAuth
$config = CredentialVerificationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new CredentialVerificationClient\Api\DefaultApi(
new GuzzleHttp\Client(),
$config
);
try {
$request = array(
"verifiableCredentials" => array(
array(
...
)
)
);
$result = $apiInstance->verifyCredentials($request);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling method: ', $e->getMessage(), PHP_EOL;
}
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.
Module Imports
import { DefaultApi, Configuration, VerifyPresentationInput } from '@affinidi-tdk/credential-verification-client'
import affinidi_tdk_credential_verification_client
require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\CredentialVerificationClient;
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;
Sample Codes
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new DefaultApi(authConfiguration)
const request: VerifyPresentationInput = {
"verifiablePresentation": {...}
}
const { data } = await api.verifyPresentation(projectId, request)
configuration = affinidi_tdk_credential_verification_client.Configuration()
# Pass the projectScopedToken generated from AuthProvider package
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_verification_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_verification_client.DefaultApi(api_client)
request_json = {
"verifiablePresentation": {...}
}
verify_presentation_input = affinidi_tdk_credential_verification_client.VerifyPresentationInput.from_dict(request_json)
api_response = api_instance.verify_presentation(projectId, verify_presentation_input=verify_presentation_input)
$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
// Configure API key authorization: ProjectTokenAuth
$config = CredentialVerificationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new CredentialVerificationClient\Api\DefaultApi(
new GuzzleHttp\Client(),
$config
);
try {
$request = array(
"verifiablePresentation" => array(
...
)
);
$result = $apiInstance->verifyPresentation($request);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling method: ', $e->getMessage(), PHP_EOL;
}
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();
}
Glad to hear it! Please tell us how we can improve more.
Sorry to hear that. Please tell us how we can improve.
Thank you for sharing your feedback so we can improve your experience.