Introduced the following features:
- Extensions for authorization code and access token requests
A trait based system allows passing a collection of extensions to
request handlers. After the basic request checks passed, extensions
can handle additional parameters of the request. Based on
inidivudual logic, they can block the request with an error, attach
additional information or simply pass it on. Any attached
information become available to the same extension in subsequent
requests with the employed grant.
- Assertion grants will error when encountering private extensions as
they currently can not protect/encrypt the data.
- Each primitive now has a simple test suite which custom implementation
can run against to test basic compliance.
- The pkce extension can be leveraged to protect public clients against
impersonation (e.g. by other programs on a consumer platform).
Fixed the following bugs:
- Fixed a mistake in the description of the named comparison `Scope`.
The respective function (`priviledged_to`) is now also mentioned in
an example in the documentation of `Scope` itself, to illustrate the
proper functionality and usage. The symmetric pair (`allow_access`)
has been introduced as a named function as well.