Skip to content

Commit f3ab899

Browse files
authored
Added support for custom jwtid value (#23227)
## Description This PR adds support for a custom JTI value being provided in the `generateToken` method. This can be used by customers to use their own provided JTI guid value. One use case would be using Entra-ID to generate tokens where customers want to provide their own JTI value. ## Breaking Changes Adds a new optional arg - `jti` - in `generateToken`. ## Reviewer Guidance Do I need to update this method definition in all packages to support custom JTI values?
1 parent 296f8ae commit f3ab899

File tree

1 file changed

+4
-3
lines changed
  • server/routerlicious/packages/services-utils/src

1 file changed

+4
-3
lines changed

server/routerlicious/packages/services-utils/src/auth.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ export function getCreationToken(
7979
// Current time in seconds
8080
const tokenClaims = decode(token) as ITokenClaims;
8181

82-
const { tenantId, user } = tokenClaims;
82+
const { tenantId, user, jti, ver } = tokenClaims;
8383

84-
return generateToken(tenantId, documentId, key, [], user, lifetime);
84+
return generateToken(tenantId, documentId, key, [], user, lifetime, ver, jti);
8585
}
8686

8787
/**
@@ -98,6 +98,7 @@ export function generateToken(
9898
user?: IUser,
9999
lifetime: number = 60 * 60,
100100
ver: string = "1.0",
101+
jti: string = uuid(),
101102
): string {
102103
let userClaim = user ? user : generateUser();
103104
if (userClaim.id === "" || userClaim.id === undefined) {
@@ -117,7 +118,7 @@ export function generateToken(
117118
ver,
118119
};
119120

120-
return sign(claims, key, { jwtid: uuid() });
121+
return sign(claims, key, { jwtid: jti });
121122
}
122123

123124
/**

0 commit comments

Comments
 (0)