Skip to content

Commit e77328e

Browse files
committed
feat: Apply claims on access_token_payload when calling create_new_session
1 parent c26242e commit e77328e

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

supertokens_python/recipe/session/asyncio/__init__.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,29 @@ async def create_new_session(
4949
) -> SessionContainer:
5050
if user_context is None:
5151
user_context = {}
52+
if session_data is None:
53+
session_data = {}
54+
if access_token_payload is None:
55+
access_token_payload = {}
56+
57+
claims_added_by_other_recipes = SessionRecipe.get_claims_added_by_other_recipes()
58+
final_access_token_payload = access_token_payload
59+
60+
for claim in claims_added_by_other_recipes:
61+
update = await claim.build(user_id, user_context)
62+
final_access_token_payload = {**final_access_token_payload, **update}
63+
5264
if not hasattr(request, "wrapper_used") or not request.wrapper_used:
5365
request = FRAMEWORKS[
5466
SessionRecipe.get_instance().app_info.framework
5567
].wrap_request(request)
68+
5669
return await SessionRecipe.get_instance().recipe_implementation.create_new_session(
57-
request, user_id, access_token_payload, session_data, user_context=user_context
70+
request,
71+
user_id,
72+
final_access_token_payload,
73+
session_data,
74+
user_context=user_context,
5875
)
5976

6077

0 commit comments

Comments
 (0)