[Openid-specs-ab] Issue #1841: OpenID4VP: presentation_definition_alias (openid/connect)
Takahiko Kawasaki
issues-reply at bitbucket.org
Wed Mar 1 00:19:04 UTC 2023
New issue 1841: OpenID4VP: presentation_definition_alias
https://bitbucket.org/openid/connect/issues/1841/openid4vp-presentation_definition_alias
Takahiko Kawasaki:
An idea to map particular `scope` values to particular complex request structures is sometimes proposed and actually mentioned in specifications. The following are examples.
* `verified_claims` \(OpenID Connect for Identity Assurance 1.0\)
* `authorization_details` \(OpenID for Verifiable Credential Issuance\)
* `presentation_definition` \(OpenID for Verifiable Presentations\)
However, it does not seem desirable that all these kinds of aliases go into the `scope` request parameter.
I think it is better to define a new separate request parameter that is dedicated to an alias. For example, in the case of `presentation_definition`, `presentation_definition_alias` or `presentation_definition_shortcut` could be defined as a new request parameter.
If this kind of approach is taken, the example in “5.3. Using scope Parameter to Request Verifiable Credentials\(s\)” can be written like below.
```
GET /authorize?
response_type=vp_token
&client_id=https%3A%2F%2Fclient.example.org%2Fcb
&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
&presentation_definition_alias=com.example.healthCardCredential_presentation
&nonce=n-0S6_WzA2Mj HTTP/1.1
```
In addition, a side effect of this approach is that it enables implementations to publish supported mappings in their discovery documents like below.
```json
"presentation_definition_aliases_supported": {
"com.example.healthCardCredential_presentation": {
}
}
```
Abusing the `scope` request parameter damages the original usage of the parameter. The `scope` parameter in OpenID Connect Dynamic Client Registration 1.0 and the `scopes_supported` server metadata in OpenID Connect Discovery 1.0 have been badly affected. The Dynamic Scope approach adopted by some open banking ecosystems also has an impact on the `scope` parameter and the `scopes_supported` metadata without good answers. In my humble opinion, not only OpenID4VP but also other specifications should stop abusing the `scope` parameter.
More information about the Openid-specs-ab
mailing list