Skip to content

Commit 0be90fb

Browse files
committed
GH-18: Override default params with the provided ones
1 parent 181bf82 commit 0be90fb

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/fastapi_oauth2/core.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,13 @@ def get_redirect_uri(self, request: Request) -> str:
7979
async def login_redirect(self, request: Request) -> RedirectResponse:
8080
redirect_uri = self.get_redirect_uri(request)
8181
state = "".join([random.choice(string.ascii_letters) for _ in range(32)])
82+
83+
oauth2_query_params = dict(state=state, scope=self.scope, redirect_uri=redirect_uri)
84+
oauth2_query_params.update(request.query_params)
85+
8286
return RedirectResponse(str(self._oauth_client.prepare_request_uri(
8387
self.authorization_endpoint,
84-
state=state,
85-
scope=self.scope,
86-
**request.query_params,
87-
redirect_uri=redirect_uri,
88+
**oauth2_query_params,
8889
)), 303)
8990

9091
async def token_redirect(self, request: Request, **httpx_client_args) -> RedirectResponse:
@@ -97,11 +98,12 @@ async def token_redirect(self, request: Request, **httpx_client_args) -> Redirec
9798
scheme = "http" if request.auth.http else "https"
9899
authorization_response = re.sub(r"^https?", scheme, str(request.url))
99100

101+
oauth2_query_params = dict(redirect_url=redirect_uri, authorization_response=authorization_response)
102+
oauth2_query_params.update(request.query_params)
103+
100104
token_url, headers, content = self._oauth_client.prepare_token_request(
101105
self.token_endpoint,
102-
**request.query_params,
103-
redirect_url=redirect_uri,
104-
authorization_response=authorization_response,
106+
**oauth2_query_params,
105107
)
106108

107109
headers.update({

0 commit comments

Comments
 (0)