Skip to content

Commit 1046eb6

Browse files
committed
Name scopes param consistantly
1 parent 49069a0 commit 1046eb6

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

src/auth0_fastapi/auth/auth_client.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ async def complete_login(
9090
async def start_connect_account(
9191
self,
9292
connection: str,
93+
scopes: list[str] | None = None,
9394
app_state: dict = None,
9495
authorization_params: dict = None,
9596
store_options: dict = None,
@@ -101,6 +102,7 @@ async def start_connect_account(
101102
"""
102103
options = ConnectAccountOptions(
103104
connection=connection,
105+
scopes=scopes,
104106
app_state=app_state,
105107
authorization_params=authorization_params
106108
)

src/auth0_fastapi/server/routes.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Optional
1+
from typing import Optional, Annotated
22

33
from fastapi import APIRouter, Depends, HTTPException, Query, Request, Response
44
from fastapi.responses import RedirectResponse
@@ -93,7 +93,7 @@ async def callback(
9393
# Assuming config is stored on app.state
9494
default_redirect = auth_client.config.app_base_url
9595

96-
safe_redirect = to_safe_redirect(return_to or default_redirect, auth_client.config.app_base_url)
96+
safe_redirect = to_safe_redirect(return_to, default_redirect) if return_to else str(default_redirect)
9797
return RedirectResponse(url=safe_redirect, headers=response.headers)
9898

9999
@router.get("/auth/logout")
@@ -147,18 +147,20 @@ async def connect_account(
147147
request: Request,
148148
response: Response,
149149
connection: str = Query(),
150+
scopes: Annotated[list[str] | None, Query()] = None,
151+
return_to: str = Query(default=None),
150152
auth_client: AuthClient = Depends(get_auth_client),
151153
):
152154
"""
153155
Endpoint to initiate the connect account flow for linking a third-party account to the user's profile.
154156
Redirects the user to the Auth0 connect account URL.
155157
"""
156-
authorization_params = {
157-
k: v for k, v in request.query_params.items() if k not in ["connection", "returnTo"]}
158+
authorization_params = {
159+
k: v for k, v in request.query_params.items() if k not in ["connection", "returnTo", "scope"]}
158160

159-
return_to = request.query_params.get("returnTo")
160161
connect_account_url = await auth_client.start_connect_account(
161162
connection=connection,
163+
scopes=scopes,
162164
app_state={"returnTo": return_to} if return_to else None,
163165
authorization_params=authorization_params,
164166
store_options={"request": request, "response": response},

src/auth0_fastapi/test/test_auth_client.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,7 @@ async def test_start_connect_account(self, auth_client):
408408

409409
result = await auth_client.start_connect_account(
410410
connection="google-oauth2",
411+
scopes=["openid", "profile", "email"],
411412
app_state={"returnTo": "/profile"},
412413
authorization_params={"prompt": "consent"},
413414
)
@@ -417,6 +418,7 @@ async def test_start_connect_account(self, auth_client):
417418
options=ConnectAccountOptions(
418419
connection="google-oauth2",
419420
app_state={"returnTo": "/profile"},
421+
scopes=["openid", "profile", "email"],
420422
authorization_params={"prompt": "consent"},
421423
), store_options=None)
422424

0 commit comments

Comments
 (0)