public final class OpenId4VpRegistry extends DigitalCredentialRegistry


A registration request containing data that can serve the OpenID for Verifiable Presentations protocol based request.

The (type, id) properties together act as a primary key for this registry record stored with the Registry Manager. You later can use the same values of type + id to overwrite or delete a previously registered registry. Therefore, you should track the ids you use for various registry use cases (most often you only need one) so that you can later use them to update the same registry record.

If both credentialEntries and inlineIssuanceEntries, the registry will never be used to answer a request.

Throws
kotlin.IllegalArgumentException

if id or intentAction length is greater than 64 characters

Summary

Public constructors

OpenId4VpRegistry(
    @NonNull List<@NonNull DigitalCredentialEntry> credentialEntries,
    @NonNull String id,
    @NonNull String intentAction,
    @NonNull List<@NonNull InlineIssuanceEntry> inlineIssuanceEntries
)

Inherited methods

From androidx.credentials.registry.provider.RegisterCredentialsRequest
final @NonNull byte[]

the credentials to register

final @NonNull String

the unique id that identifies this registry, such that it won't be overwritten by other different registries of the same type

final @NonNull String

the intent action that will be used to launch your fulfillment activity when one of your credentials was chosen by the user, default to RegistryManager.ACTION_GET_CREDENTIAL when unspecified; when Credential Manager launches your fulfillment activity, it will build an intent with the given intentAction targeting your package, so this is useful when you need to define different fulfillment activities for different registries

final @NonNull byte[]

the matcher wasm binary in bytes; the matcher will be interpreted and run in a safe and privacy-preserving sandbox upon an incoming request and it should output the qualified credentials given the credentials and the request; an invalid matcher (e.g. one that fails wasm interpretation or causes exceptions) will mean that your credentials will never be surfaced to the user

final @NonNull String

the type of the credentials being registered; this matches the androidx.credentials.Credential.type that these registered credentials will be returned as

Public constructors

OpenId4VpRegistry

public OpenId4VpRegistry(
    @NonNull List<@NonNull DigitalCredentialEntry> credentialEntries,
    @NonNull String id,
    @NonNull String intentAction,
    @NonNull List<@NonNull InlineIssuanceEntry> inlineIssuanceEntries
)
Parameters
@NonNull List<@NonNull DigitalCredentialEntry> credentialEntries

the list of entries to register

@NonNull String id

the unique id for this registry

@NonNull String intentAction

the intent action that will be used to launch your fulfillment activity when one of your credentials was chosen by the user, default to RegistryManager.ACTION_GET_CREDENTIAL when unspecified; when Credential Manager launches your fulfillment activity, it will build an intent with the given intentAction targeting your package, so this is useful when you need to define different fulfillment activities for different registries

@NonNull List<@NonNull InlineIssuanceEntry> inlineIssuanceEntries

the list of inline issuance entries to add the user credentials on the fly, if applicable