Skip to content
LogoLogo

CredentialProvider

The interface nautilus calls to answer a verifiable-presentation request. One method.

nautilus opens the policy-server session itself (PolicySessionResolver): it starts the verification, reads the session id and, after the presentation, checks that the verifier accepted it. A provider does only the step in between: answering the openid4vp request from a wallet. It is called only for a service whose SSIpolicy asks for credentials; a service gated by addresses only needs no provider.

class  implements CredentialProvider {
  async (: CredentialChallenge): <void> { 
    .
    .
    .
    . // the node that opened the session and will enforce it
    . // the session the policy server opened
    . // the openid4vp request to answer
  }
}

Resolve once the verifier has the presentation. Throw only when you could not present at all (no matching credential, a rejected request): whether the verifier accepted it is checked by nautilus afterwards, and a presentation it did not accept is a PolicyDeniedError.

Implementations

ClassUse
WaltIdCredentialProviderAnswers the request from a walt.id wallet.