Skip to content
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

rfc6749: ensure request parameters are not included more than once in authorization endpoint #645

Merged
merged 2 commits into from
May 20, 2024

Conversation

amCap1712
Copy link
Contributor

@amCap1712 amCap1712 commented Apr 19, 2024

Section 3.1 of the RFC6749 says "Request and response parameters MUST NOT be included more than once."

Add a method to the OAuth2Request object to obtain all the values for the keys in form + args data as a list. This helps detects repetition of request parameters. Also, add a django and flask test for the same.

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Code style update
  • Refactor
  • Other, please describe:

Does this PR introduce a breaking change? (check one)

  • Yes
  • No

If yes, please describe the impact and migration path for existing applications:

Possible breaking change for applications because clients that were repeating parameters in the request will now get an InvalidRequest error instead of successful authorization.

I don't see a reason why any client would do it intentionally but its enough of a concern, maybe we can add a flag or config to AuthorizationEndpointMixin to conditionally enable the check.


  • You consent that the copyright of your pull request source code belongs to Authlib's author.

… authorization endpoint

[Section 3.1 of the RFC6759](https://datatracker.ietf.org/doc/html/rfc6749#section-3.1) says "Request and response parameters MUST NOT be included more than once."

Add a method to the OAuth2Request object to obtain all the values for the keys in form + args data as a list. This helps detects
repetition of request parameters. Also, add a django and flask test for the same.
@lepture lepture merged commit 421732d into lepture:master May 20, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants