1919
2020
2121@router .get ("/login" , name = "auth0_login" )
22- async def login (request : Request ):
22+ async def login (request : Request , redirect_to : str = "/collections" ):
23+ request .session ["redirect_to" ] = redirect_to
2324 redirect_uri = request .url_for ("auth0_callback" )
2425 return await oauth .auth0 .authorize_redirect (
2526 request , redirect_uri , prompt = "select_account" , connection = "google-oauth2"
@@ -29,10 +30,8 @@ async def login(request: Request):
2930@router .get ("/callback" , name = "auth0_callback" )
3031async def auth0_callback (request : Request ):
3132 token = await oauth .auth0 .authorize_access_token (request )
32-
3333 user = token .get ("userinfo" ) or await oauth .auth0 .userinfo (token = token )
3434
35- # Create or get the user from database
3635 db = next (get_db ())
3736 db_user = get_or_create_user_by_email (
3837 session = db ,
@@ -45,7 +44,6 @@ async def auth0_callback(request: Request):
4544 },
4645 )
4746
48- # Store in session
4947 request .session ["user" ] = {
5048 "email" : user ["email" ],
5149 "name" : user .get ("name" ),
@@ -54,7 +52,11 @@ async def auth0_callback(request: Request):
5452 }
5553 request .session ["user_id" ] = str (db_user .id )
5654
57- return RedirectResponse (url = "http://localhost:5173/collections" )
55+ frontend_url = settings .FRONTEND_URL
56+ redirect_to = request .session .pop ("redirect_to" , "/collections" )
57+ redirect_url = f"{ frontend_url } { redirect_to } "
58+
59+ return RedirectResponse (url = redirect_url )
5860
5961
6062@router .get ("/logout" , name = "auth0_logout" )
0 commit comments