Introspection endpoint responds to invalid requests appropriately #126
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR improves the behavior of the OAuth2 Introspection endpoint to respond with a more appropriate error message when the request is invalid. Currently, fosite responds to all requests other than those that are classified as "unauthorized" with an HTTP status code of 200 and body of
{"active":"false"}
.While the spec doesn't define what to do in the case of an invalid request (at least not that I could find), I can't think of a reason that one would want to obscure the difference between an invalid request and some other kind of error. It definitely has the potential to be confusing though when one is developing an application! We ran into this case when accidentally using
GET
instead ofPOST
on this endpoint.[1] https://tools.ietf.org/html/rfc7662#section-2.3