-
Notifications
You must be signed in to change notification settings - Fork 20
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
How to retrieve client_name when using DID identifier scheme? #317
Comments
Chapter 10 requires the use of OAuth 2.0 Dynamic Client Registration Protocol , which unless I'm missing something is not compatible with DIDs because it assigns the client_id, and does not allow the client to register their did along side the other metadata. Dynamic Client Registration would also require registration with every Wallet, which may lead to scalability issues. |
Can you clarify which sentence says that? That is not the intention and in face the majority of systems I'm aware of don't use dynamic client registration. The use of client metadata values defined for use in DCR (e.g. I don't know how to actually answer your question, that seems like it would be a question for someone that knows about DIDs and how you would obtain a trusted name for the owner of a particular DID. See the discussion here #17 (comment) for why the working group decided not to permit a self-asserted |
I have heard a similar feedback before. Basically, the question it, "the wallet needs to display information about the RP (terms of services, logo, etc.) From where should the RP get that information?" it is usually not part of the RP authentication information. I think it is ok to put it in the client_metadata when the request is signed? |
The working group was pretty negative on the client self-asserting its own name, logo, etc. It means any authorised player in the ecosystem can get the wallet to tell the user "You are releasing information to the US government" or whatever - see #17 (comment) |
@jogu I think I misunderstood
I read it as the only way to provide data about the Verifier to the Wallet. The way we're solving this is by using JWT-Secured Authorization Request (JAR) always, which I think is @Sakurann's suggestion also. Since the whole request is signed, we can trust the integrity of the data inside. This still leaves the question wether the wallet should trust the request itself, but that seems outside the scope of Oid4VP. An alternative that's more or less on the same line would be to support the removed Showing logo and name is the first interaction that most wallets will want to show, a unified mechanism across all client identifier schemes should both make it easier to support more in the future and increase compatibility. |
There are two separate but related questions here. Firstly, does the wallet trust the request enough, and secondly what reliable information can the wallet display to the user about who the request is from so that the user is giving informed consent. The suggest you have seems to be that the client self-asserts it's name, logo, etc. Suggesting that the request is signed (adding non-repudiation / tamper detection essentially) does not change the fact that the name & logo are self-asserted. Maybe if you can explain how trust could be established that might make the answer clearer? |
@jogu "Maybe if you can explain how trust could be established that might make the answer clearer" |
Thanks David. So in your implementation any client_name etc passed in the request basically wasn't used and it would have worked without that information included in the request? |
Not quite. The client name was the only thing used and passed to the trust infrastructure. |
The rationale being "if you tell us your correct name, everything will be fine. If you give a false name, nothing will work for you" |
Unless of course the user wanted to go ahead and talk to an untrustworthy site, because "the user knows best". This is the situation today with web browsers and TLS. The browser says 'site not trusted' but the user can usually bypass the controls if she is persistent and access the site anyway. So we used the same procedure in our wallet app. |
Thanks David! That sounds unusual to be honest, it's quite different from the model in OID4VP where the |
@jogu. Sorry, slight correction, since it's been 2 years since I stopped working on this implementation. We did use the client_id (sent in the OID4VP request) and required it to be the URL of the RP, and this was stored in its ETSI trust list entry of the RP. |
The requirements in Authorization Request
In the case of using DIDs as client identifiers how should the wallet retrieve UX related information such as
client_name
,logo_uri
andtos_uri
?The text was updated successfully, but these errors were encountered: