-
-
Notifications
You must be signed in to change notification settings - Fork 420
Can't send token request body as JSON #244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Why do you need to use JSON? The OAuth2 specification mandates support for |
That's an excellent question. I pointed out that very section of the RFC to the OAuth2 provider. What got me wondering was that they shared a ruby example, and that works (uses a JSON request body). Same with the Authorization header. If that is present it also fails. If it's mandated this may very well be a won't/don't fix sitch. |
That's very odd. =( So they really don't support form-encoded bodies at all? |
Agreed, very odd indeed ... unless the implementation I'm being asked to use is of an earlier version. Update: The project in question is Doorkeeper. I've asked if they truly don't support form-encoded bodies. |
According to the response on that GitHub issue, it appears that Doorkeeper does support form-encoded bodies. As a result, it sounds like this GitHub issue can be closed. If I'm wrong, and there's more to discuss here, please let me know and reopen this issue. |
I'm working with an oauth2 server we know is broken, however it works for other systems and the company has no interest in fixing it. It requires that I submit auth in JSON format rather than form encoded. We shouldn't support this specific problem, but if we have a compliance hook that allows me to change the sending format of the payload as required I can fix my problem and potentially others in future. Related to: requests#244 (but not the reason for the patch)
Anyone in this situation in the future. I've added support for this via a new hook in #433. Would be great if this was merged at some point. |
Using a grant type of
password
, when I supply a header ofContent-Type: application/json
the body is still sent url-encoded instead of as JSON. From the debug logs:See line 211 below.
data=dict(urldecode(body))
:Other platforms (e.g., ruby) seem to do the right thing. Am I missing something?
The text was updated successfully, but these errors were encountered: