Context
An axone-vc authority must expose a lightweight way to check whether a credential can be used without returning the serialized credential payload.
Expected behavior
Add a VerifyCredential query.
VerifyCredential {
identifier: Uri,
valid_at: Option<Timestamp>,
}
The query must return whether the credential exists in the authority's active credential set.
If valid_at is provided, the query must also evaluate the credential validity interval.
Unknown identifiers must not fail the query.
Validity
For valid_at:
valid_from is inclusive when present.
valid_until is exclusive when present.
- missing
valid_from means no lower bound.
- missing
valid_until means no upper bound.
A revoked credential is considered unknown because revocation removes it from the active credential set.
Response
Expected shape:
VerifyCredentialResponse {
exists: bool,
valid: bool,
}
Where:
exists is true when the credential is present in the active credential set.
valid is true when the credential exists and matches the requested validity check.
If valid_at is omitted, valid must be equal to exists.
Context
An
axone-vcauthority must expose a lightweight way to check whether a credential can be used without returning the serialized credential payload.Expected behavior
Add a
VerifyCredentialquery.The query must return whether the credential exists in the authority's active credential set.
If
valid_atis provided, the query must also evaluate the credential validity interval.Unknown identifiers must not fail the query.
Validity
For
valid_at:valid_fromis inclusive when present.valid_untilis exclusive when present.valid_frommeans no lower bound.valid_untilmeans no upper bound.A revoked credential is considered unknown because revocation removes it from the active credential set.
Response
Expected shape:
Where:
existsis true when the credential is present in the active credential set.validis true when the credential exists and matches the requested validity check.If
valid_atis omitted,validmust be equal toexists.