diff --git a/lib/build/recipe/session/index.d.ts b/lib/build/recipe/session/index.d.ts index 5cc6a737c..965b4ed00 100644 --- a/lib/build/recipe/session/index.d.ts +++ b/lib/build/recipe/session/index.d.ts @@ -51,6 +51,7 @@ export default class SessionWrapper { } >; static validateClaimsInJWTPayload( + tenantId: string, userId: string, jwtPayload: JSONObject, overrideGlobalClaimValidators?: ( diff --git a/lib/build/recipe/session/index.js b/lib/build/recipe/session/index.js index 89fdb63a0..1ad9bf649 100644 --- a/lib/build/recipe/session/index.js +++ b/lib/build/recipe/session/index.js @@ -128,7 +128,8 @@ class SessionWrapper { .getInstanceOrThrowError() .getClaimValidatorsAddedByOtherRecipes(); const globalClaimValidators = yield recipeImpl.getGlobalClaimValidators({ - userId: sessionInfo === null || sessionInfo === void 0 ? void 0 : sessionInfo.userId, + userId: sessionInfo.userId, + tenantId: sessionInfo.tenantId, claimValidatorsAddedByOtherRecipes, userContext, }); @@ -161,13 +162,14 @@ class SessionWrapper { }; }); } - static validateClaimsInJWTPayload(userId, jwtPayload, overrideGlobalClaimValidators, userContext = {}) { + static validateClaimsInJWTPayload(tenantId, userId, jwtPayload, overrideGlobalClaimValidators, userContext = {}) { return __awaiter(this, void 0, void 0, function* () { const recipeImpl = recipe_1.default.getInstanceOrThrowError().recipeInterfaceImpl; const claimValidatorsAddedByOtherRecipes = recipe_1.default .getInstanceOrThrowError() .getClaimValidatorsAddedByOtherRecipes(); const globalClaimValidators = yield recipeImpl.getGlobalClaimValidators({ + tenantId, userId, claimValidatorsAddedByOtherRecipes, userContext, diff --git a/lib/build/recipe/session/types.d.ts b/lib/build/recipe/session/types.d.ts index c42ac1d8c..52b49066b 100644 --- a/lib/build/recipe/session/types.d.ts +++ b/lib/build/recipe/session/types.d.ts @@ -162,6 +162,7 @@ export declare type RecipeInterface = { userContext: any; }): Promise; getGlobalClaimValidators(input: { + tenantId: string; userId: string; claimValidatorsAddedByOtherRecipes: SessionClaimValidator[]; userContext: any; diff --git a/lib/build/recipe/session/utils.js b/lib/build/recipe/session/utils.js index 3cecfcfc8..8f90fdb9e 100644 --- a/lib/build/recipe/session/utils.js +++ b/lib/build/recipe/session/utils.js @@ -287,6 +287,7 @@ function getRequiredClaimValidators(session, overrideGlobalClaimValidators, user .getInstanceOrThrowError() .recipeInterfaceImpl.getGlobalClaimValidators({ userId: session.getUserId(), + tenantId: session.getTenantId(), claimValidatorsAddedByOtherRecipes, userContext, }); diff --git a/lib/ts/recipe/session/index.ts b/lib/ts/recipe/session/index.ts index fa39ab021..ef5f80576 100644 --- a/lib/ts/recipe/session/index.ts +++ b/lib/ts/recipe/session/index.ts @@ -130,7 +130,8 @@ export default class SessionWrapper { const claimValidatorsAddedByOtherRecipes = Recipe.getInstanceOrThrowError().getClaimValidatorsAddedByOtherRecipes(); const globalClaimValidators: SessionClaimValidator[] = await recipeImpl.getGlobalClaimValidators({ - userId: sessionInfo?.userId, + userId: sessionInfo.userId, + tenantId: sessionInfo.tenantId, claimValidatorsAddedByOtherRecipes, userContext, }); @@ -167,6 +168,7 @@ export default class SessionWrapper { } static async validateClaimsInJWTPayload( + tenantId: string, userId: string, jwtPayload: JSONObject, overrideGlobalClaimValidators?: ( @@ -183,6 +185,7 @@ export default class SessionWrapper { const claimValidatorsAddedByOtherRecipes = Recipe.getInstanceOrThrowError().getClaimValidatorsAddedByOtherRecipes(); const globalClaimValidators: SessionClaimValidator[] = await recipeImpl.getGlobalClaimValidators({ + tenantId, userId, claimValidatorsAddedByOtherRecipes, userContext, diff --git a/lib/ts/recipe/session/types.ts b/lib/ts/recipe/session/types.ts index 4c00eeac5..2b70f759f 100644 --- a/lib/ts/recipe/session/types.ts +++ b/lib/ts/recipe/session/types.ts @@ -197,6 +197,7 @@ export type RecipeInterface = { }): Promise; getGlobalClaimValidators(input: { + tenantId: string; userId: string; claimValidatorsAddedByOtherRecipes: SessionClaimValidator[]; userContext: any; diff --git a/lib/ts/recipe/session/utils.ts b/lib/ts/recipe/session/utils.ts index 61c277329..2480b3025 100644 --- a/lib/ts/recipe/session/utils.ts +++ b/lib/ts/recipe/session/utils.ts @@ -284,6 +284,7 @@ export async function getRequiredClaimValidators( const globalClaimValidators: SessionClaimValidator[] = await SessionRecipe.getInstanceOrThrowError().recipeInterfaceImpl.getGlobalClaimValidators( { userId: session.getUserId(), + tenantId: session.getTenantId(), claimValidatorsAddedByOtherRecipes, userContext, } diff --git a/test/with-typescript/index.ts b/test/with-typescript/index.ts index 64d20e2e9..8b3bd2012 100644 --- a/test/with-typescript/index.ts +++ b/test/with-typescript/index.ts @@ -1359,12 +1359,13 @@ Session.validateClaimsForSessionHandle( { test: 1 } ); -Session.validateClaimsInJWTPayload("userId", {}); -Session.validateClaimsInJWTPayload("userId", {}, (globalClaimValidators) => [ +Session.validateClaimsInJWTPayload("public", "userId", {}); +Session.validateClaimsInJWTPayload("public", "userId", {}, (globalClaimValidators) => [ ...globalClaimValidators, boolClaim.validators.isTrue(), ]); Session.validateClaimsInJWTPayload( + "public", "userId", {}, (globalClaimValidators, userId) => [...globalClaimValidators, stringClaim.validators.startsWith(userId)],