-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Describe the bug
In AccessTokenRequest, the ace_profile parameter is only ever absent or present-but-null, but no concrete selection of a profile is possible.
To Reproduce
Signature of the field and corresponding functions is pub ace_profile: Option<()>
Expected behavior
The signature should be something more like pub ace_profile: Option<Option<dcaf::AceProfile>>, with None signifying that nothing is expresed, and Some(None) signifying the null value.
Additional context
RFC9200 is not too explicit here -- it talks a lot about the null value being allowed in requests (section 5.8.1. and 5.8.4.3.), but neither allows nor forbids regular values.
When a server supports multiple profiles and a client is authorized to use them, both the client telling the server what to select (eg. because of circumstances like limited network availability) and for the server to select (client sends null, server responds with what it selected, which is a sensible default).
If you disagree with my interpretation of 9200, I'm happy to file an erratum about this allowing different interpretations; not filing one immediately because this may just be an oversight.