@@ -64,6 +64,7 @@ async def create_new_session(
6464 access_token_payload : Optional [Dict [str , Any ]],
6565 session_data_in_database : Optional [Dict [str , Any ]],
6666 disable_anti_csrf : Optional [bool ],
67+ tenant_id : str ,
6768 user_context : Dict [str , Any ],
6869 ) -> SessionContainer :
6970 log_debug_message ("createNewSession: Started" )
@@ -74,6 +75,7 @@ async def create_new_session(
7475 disable_anti_csrf is True ,
7576 access_token_payload ,
7677 session_data_in_database ,
78+ tenant_id ,
7779 )
7880 log_debug_message ("createNewSession: Finished" )
7981
@@ -95,6 +97,7 @@ async def create_new_session(
9597 payload ,
9698 None ,
9799 True ,
100+ tenant_id ,
98101 )
99102
100103 return new_session
@@ -262,6 +265,7 @@ async def get_session(
262265 payload ,
263266 None ,
264267 access_token_updated ,
268+ response .session .tenant_id ,
265269 )
266270
267271 return session
@@ -312,6 +316,7 @@ async def refresh_session(
312316 user_data_in_access_token = payload ,
313317 req_res_info = None ,
314318 access_token_updated = True ,
319+ tenant_id = payload ["tId" ],
315320 )
316321
317322 return session
@@ -322,14 +327,26 @@ async def revoke_session(
322327 return await session_functions .revoke_session (self , session_handle )
323328
324329 async def revoke_all_sessions_for_user (
325- self , user_id : str , user_context : Dict [str , Any ]
330+ self ,
331+ user_id : str ,
332+ tenant_id : Optional [str ],
333+ revoke_across_all_tenants : bool ,
334+ user_context : Dict [str , Any ],
326335 ) -> List [str ]:
327- return await session_functions .revoke_all_sessions_for_user (self , user_id )
336+ return await session_functions .revoke_all_sessions_for_user (
337+ self , user_id , tenant_id , revoke_across_all_tenants
338+ )
328339
329340 async def get_all_session_handles_for_user (
330- self , user_id : str , user_context : Dict [str , Any ]
341+ self ,
342+ user_id : str ,
343+ tenant_id : Optional [str ],
344+ fetch_across_all_tenants : bool ,
345+ user_context : Dict [str , Any ],
331346 ) -> List [str ]:
332- return await session_functions .get_all_session_handles_for_user (self , user_id )
347+ return await session_functions .get_all_session_handles_for_user (
348+ self , user_id , tenant_id , fetch_across_all_tenants
349+ )
333350
334351 async def revoke_multiple_sessions (
335352 self , session_handles : List [str ], user_context : Dict [str , Any ]
@@ -383,9 +400,8 @@ async def fetch_and_set_claim(
383400 if session_info is None :
384401 return False
385402
386- # TODO: Pass tenant id
387403 access_token_payload_update = await claim .build (
388- session_info .user_id , "pass-tenant-id" , user_context
404+ session_info .user_id , session_info . tenant_id , user_context
389405 )
390406 return await self .merge_into_access_token_payload (
391407 session_handle , access_token_payload_update , user_context
@@ -463,5 +479,6 @@ async def regenerate_access_token(
463479 response ["session" ]["handle" ],
464480 response ["session" ]["userId" ],
465481 response ["session" ]["userDataInJWT" ],
482+ response ["session" ]["tenantId" ],
466483 )
467484 return RegenerateAccessTokenOkResult (session , access_token_obj )
0 commit comments