Skip to content

Proposal: Define a post-OID4VP authentication and authorization integration pattern #695

@Vanderkast

Description

@Vanderkast

This issue proposes adding explicit guidance to OID4VP on how it is intended to integrate OID4VP into a system authentication and authorization.

Problem definition

Currently, OID4VP defines how a Verifier requests and receives a verifiable presentation (vp_token) from a Wallet. That is a great mechanism for End-User authentication and consent acquisition. However, the specification does not define or describe how the result of a successful VP verification should give client an access to multiple APIs or services within a larger system.

In practice, vp_token is not suitable to be used directly as authorization material:

  • it is bound to a single presentation exchange;
  • it may be large, privacy-sensitive, and short-lived;
  • reusing or forwarding it to backend APIs conflicts with common OAuth2/OpenID Connect security and deployment patterns.

Proposal

  1. Add a security consideration not to use vp_token as an authorization material (access_token).
  2. Add an appendix (or plural) to outline a OID4VP-based authentication process:
    1. Post-verification token issuance
      1. After successful VP verification, the Verifier MAY issue an internal access token, session or OAuth2-style token representing the authenticated subject and derived authorization context.
      2. This option might be considered when existing authorization provider does not support OID4VP.
    2. Integration with OAuth 2.0 / OpenID Connect
      1. OID4VP MAY be used as an authentication/authorization step that precedes or replaces traditional user authentication in OAuth2/OIDC flows.
      2. The output of OID4VP verification can serve as input to an authorization server for access token issuance.

Additional context

  1. The proposed implementation consideration may be defined in "Response mode direct_post" (ref) fashion.
  2. "End-User Authentication using Credentials" (ref) worth a reference in the proposed implementation consideration.
  3. Probably, OID4VCI Interactive Authorization Endpoint (ref) is sufficient for such use cases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions