-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
I really appreciate the draft, because it is a solution for many of my use cases.
However, I'm not sure whether it is a good idea to mix the DPoP binding into the ID token for the following reasons:
- Privacy: Depending on the OP, multiple user-specific claims (e.g.,
sub,name, ...) might be placed inside the ID Token without the client being able to control them via requested scopes. When sharing this token with other users or services, it may leak internal information (e.g.,subidentifier) or personal information to third-party RPs that the user is willing to disclose only to their local RP (e.g.,name,gender, ...). - Dual Use: Many RPs may still need a classic ID Token in addition to the DPoP-bound ID Token. I can also assume that the claims of the classic ID Token should not be equal to the claims of the DPoP-bound ID Token, e.g., a classic ID Token with
nameandemailclaim to display these information in the UI to the user, but sharing only thenameclaim with a consuming RP (e.g., a video conference communication partner) via the DPoP-bound ID Token.
Therefore, my recommendation is that if the bound_key scope is requested and granted, an additional token will be returned in the token request, e.g., something like dpop_id_token.
In addition, claims of this ID Token should be a subset of the classic ID Token, which can be reduced by the end-user (who is required to consent to the AS explicitly, allowing this information to be shared with third parties) and the relying party (which can further reduce the requested claims for data minimization).
Metadata
Metadata
Assignees
Labels
No labels