Class OID4VPIdentityProvider

All Implemented Interfaces:
IdentityProvider<OID4VPIdentityProviderConfig>, TrustMaterialIdentityProvider<OID4VPIdentityProviderConfig>, UserAuthenticationIdentityProvider<OID4VPIdentityProviderConfig>, Provider

Identity provider that authenticates users with an OpenID4VP (OID4VP) wallet presentation.

Supports the same device and cross device flows with a single SD-JWT VC. performLogin(org.keycloak.broker.provider.AuthenticationRequest) renders a page with an openid4vp:// link for a wallet on this device and a QR code for a wallet on another device. The wallet fetches a signed request object and posts the presentation back to OID4VPIdentityProviderEndpoint, which verifies it and drives the normal broker machinery (existing or new user, first and post broker login). A remote wallet cannot redirect the browser, so the login page polls the endpoint until the presentation arrives.

The provider also acts as its own TrustMaterialIdentityProvider: the credential issuer signature is verified against the inline JWKS configured on this provider.

See Also: