11import jwt
2- from fastapi import APIRouter , Depends
2+ from fastapi import APIRouter , Depends , Request
33import posthog
44
55from dependencies import SessionData , require_auth
66
77user_router = APIRouter ()
88
99@user_router .get ("/me" )
10- async def get_user_info (auth : SessionData = Depends (require_auth )):
10+ async def get_user_info (auth : SessionData = Depends (require_auth ), request : Request = None ):
1111 token_data = auth .token_data
1212 access_token = token_data .get ("access_token" )
1313
1414 decoded = jwt .decode (access_token , options = {"verify_signature" : False })
1515
16+ # Build full URL (mirroring canvas.py logic)
17+ full_url = None
18+ if request :
19+ full_url = str (request .base_url ).rstrip ("/" ) + str (request .url .path )
20+ full_url = full_url .replace ("http://" , "https://" )
21+
1622 # Identify user in PostHog (mirrors frontend identify)
1723 posthog .identify (
1824 distinct_id = decoded ["sub" ],
@@ -22,7 +28,8 @@ async def get_user_info(auth: SessionData = Depends(require_auth)):
2228 "name" : decoded .get ("name" , "" ),
2329 "given_name" : decoded .get ("given_name" , "" ),
2430 "family_name" : decoded .get ("family_name" , "" ),
25- "email_verified" : decoded .get ("email_verified" , False )
31+ "email_verified" : decoded .get ("email_verified" , False ),
32+ "$current_url" : full_url
2633 }
2734 )
2835
@@ -34,4 +41,4 @@ async def get_user_info(auth: SessionData = Depends(require_auth)):
3441 "given_name" : decoded .get ("given_name" , "" ),
3542 "family_name" : decoded .get ("family_name" , "" ),
3643 "email_verified" : decoded .get ("email_verified" , False )
37- }
44+ }
0 commit comments