Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove did: based client ID's #278

Open
tplooker opened this issue Oct 6, 2024 · 7 comments
Open

Remove did: based client ID's #278

tplooker opened this issue Oct 6, 2024 · 7 comments

Comments

@tplooker
Copy link

tplooker commented Oct 6, 2024

Practically speaking I don't believe DID based client ID's offer much in the way of value for the OpenID4VP protocol and instead only add complexity to implementations. The current text for did: based client ID's is generally under-defined in the sense that:

  • Which DID methods implementations are suppose to support are not defined.
  • Which verification method types implementations are suppose to support are not defined.
  • Which key representations formats inside the verification method types is not sufficiently defined.

To that end I believe the simplest path is to remove this feature from OpenID4VP, it doesn't prevent implementations from using DID's in other places such as credential binding if they so wish.

@bc-pi
Copy link
Member

bc-pi commented Oct 7, 2024

It also adds complexity to cognitive overhead involved in just trying to comprehend the document itself.

@bc-pi
Copy link
Member

bc-pi commented Oct 8, 2024

Remove it

@Sakurann
Copy link
Collaborator

Sakurann commented Oct 8, 2024

don't remove it.

@Sakurann
Copy link
Collaborator

Sakurann commented Oct 8, 2024

I don't understand how it is underspecified more than others. majority of client_id_schemes need something additional to be defined, not just DID one. like verifier_attestation scheme requires it to be defined how to get the keys to validate that verifier attestation jwt. openid federation leaves a lot of things open too.

profiles are supposed to define details for did method and they do. like here: https://identity.foundation/jwt-vc-presentation-profile/

in the end of the day, did: client_id_scheme is optional, if you don't like it, don't use it.

@tplooker
Copy link
Author

tplooker commented Oct 8, 2024

don't remove it.

Can you please elaborate on why not?

I don't understand how it is underspecified more than others. majority of client_id_schemes need something additional to be defined, not just DID one. like verifier_attestation scheme requires it to be defined how to get the keys to validate that verifier attestation jwt. openid federation leaves a lot of things open too.

I've clearly stated above how it is under-defined, even though its an optional feature it creates complexity and burden for implementers that attempt to use it and for us as editors to maintain it. The feature needs to be properly defined or removed, I'm in favour of removing.

@bj-ms
Copy link

bj-ms commented Oct 9, 2024

Practically speaking I don't believe DID based client ID's offer much in the way of value for the OpenID4VP protocol and instead only add complexity to implementations. The current text for did: based client ID's is generally under-defined in the sense that:

  • Which DID methods implementations are suppose to support are not defined.
  • Which verification method types implementations are suppose to support are not defined.
  • Which key representations formats inside the verification method types is not sufficiently defined.

To that end I believe the simplest path is to remove this feature from OpenID4VP, it doesn't prevent implementations from using DID's in other places such as credential binding if they so wish.

If did: is removed from the client_id scheme, how will verifiers with DIDs be able to authenticate themselves to the wallet?

I would argue that this option is necessary to validate a signed authorization request sent to the wallet by a verifier with a DID.

From your points above, one addition that makes sense to me is to define what type of public key encoding is supported.

@nemqe
Copy link
Contributor

nemqe commented Oct 9, 2024

I always saw did: support here as an enabler for DID centric ecosystems, and then it is their business what specific DID methods they want to use, what key types they want to support, and in what format they want to present them - all of which is defined in the base DID spec and the corresponding method specs.

What is the main concern of keeping this in, do we worry about wallets needing to support things like DIDs and not knowing what to expect because the range of possible methods is big?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants