wallet icon indicating copy to clipboard operation
wallet copied to clipboard

Support OpenID Connect for Verifiable Presentations (SIOP)

Open rolsonquadras opened this issue 3 years ago • 1 comments

Wallet should support OpenID Connect for Verifiable Presentations spec. The spec uses DIF Presentation Exchange specification, which is already supported by TrustBloc wallet. As part of the implementation, the PEx should be wrapped in OIDC SIOP request/response.

Tasks:

  • [x] Handle Auth request
  • [x] https://github.com/trustbloc/wallet/issues/1529
  • [x] https://github.com/trustbloc/wallet/issues/1530
  • [x] https://github.com/trustbloc/wallet/issues/1563
  • [x] https://github.com/trustbloc/wallet/issues/1560
  • [x] https://github.com/trustbloc/wallet/issues/1585
  • [ ] https://github.com/trustbloc/wallet/issues/1558
    • [ ] #1627
    • [ ] #1628
  • [ ] https://github.com/trustbloc/wallet/issues/1559
  • [x] https://github.com/trustbloc/wallet/issues/1582
  • [ ] https://github.com/trustbloc/wallet/issues/1652

Additional Tasks:

  • [ ] SIOP authorization request claims as URL encoded string (and base64URL support if required)
  • [ ] currently wallet is reading and validating only presentation definition from claims vp_token & redirect URL
  • [ ] validating VP formats from vp_token against RP metadata vp_formats.
  • [ ] id token from wallet has to be upgraded to match specifications. Currently fake empty JWT is being used.
  • [ ] preventing replay attacks (using nonce)
  • [ ] fetching presentation definition by reference
  • [ ] Support for Federations/Trust Schemes
  • [ ] Need story for authorization token flow

rolsonquadras avatar Feb 24 '22 16:02 rolsonquadras

Reference for how to perform presentation definition query in wallet: https://github.com/trustbloc/agent-sdk/blob/51b612b6a37ab5b44824078b00420d7cd6e3c737/cmd/wallet-js-sdk/test/specs/credential/credential-manager.spec.js#L455-L472

sudeshrshetty avatar Feb 25 '22 03:02 sudeshrshetty