Skip to content

Commit

Permalink
chore(console): update custom JWT scripts sample
Browse files Browse the repository at this point in the history
  • Loading branch information
darcyYe committed Apr 18, 2024
1 parent 75a0348 commit bddb16f
Showing 1 changed file with 23 additions and 20 deletions.
43 changes: 23 additions & 20 deletions packages/console/src/pages/CustomizeJwtDetails/utils/config.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,23 @@ declare global {
/** Logto internal data that can be used to pass additional information
* @param {${JwtCustomizerTypeDefinitionKey.JwtCustomizerUserContext}} user - The user info associated with the token.
*/
export type Data = {
export type Context = {
user: ${JwtCustomizerTypeDefinitionKey.JwtCustomizerUserContext};
}
export interface Exports {
/**
* This function is called during the access token generation process to get custom claims for the JWT token.
*
* @param {${JwtCustomizerTypeDefinitionKey.AccessTokenPayload}} token -The JWT token.
* @param {Data} data - Logto internal data that can be used to pass additional information
* @param {${JwtCustomizerTypeDefinitionKey.JwtCustomizerUserContext}} data.user - The user info associated with the token.
* @param {${JwtCustomizerTypeDefinitionKey.EnvironmentVariables}} envVariables - The environment variables.
*
*
* @param payload - The input payload of the function.
* @param {${JwtCustomizerTypeDefinitionKey.AccessTokenPayload}} payload.token -The JWT token.
* @param {Context} payload.context - Logto internal data that can be used to pass additional information
* @param {${JwtCustomizerTypeDefinitionKey.JwtCustomizerUserContext}} payload.context.user - The user info associated with the token.
* @param {${JwtCustomizerTypeDefinitionKey.EnvironmentVariables}} [payload.environmentVariables] - The environment variables.
*
* @returns The custom claims.
*/
getCustomJwtClaims: (token: ${JwtCustomizerTypeDefinitionKey.AccessTokenPayload}, data: Data, envVariables: ${JwtCustomizerTypeDefinitionKey.EnvironmentVariables}) => Promise<CustomJwtClaims>;
getCustomJwtClaims: ({ token: ${JwtCustomizerTypeDefinitionKey.AccessTokenPayload}, context: Context, environmentVariables: ${JwtCustomizerTypeDefinitionKey.EnvironmentVariables} }) => Promise<CustomJwtClaims>;
}
const exports: Exports;
Expand All @@ -62,7 +63,7 @@ declare global {
*
* @returns The custom claims.
*/
getCustomJwtClaims: (token: ${JwtCustomizerTypeDefinitionKey.ClientCredentialsPayload}, envVariables: ${JwtCustomizerTypeDefinitionKey.EnvironmentVariables}) => Promise<CustomJwtClaims>;
getCustomJwtClaims: ({ token: ${JwtCustomizerTypeDefinitionKey.ClientCredentialsPayload}, environmentVariables: ${JwtCustomizerTypeDefinitionKey.EnvironmentVariables} }) => Promise<CustomJwtClaims>;
}
const exports: Exports;
Expand All @@ -74,30 +75,32 @@ export { exports as default };
export const defaultAccessTokenJwtCustomizerCode = `/**
* This function is called during the access token generation process to get custom claims for the JWT token.
* Limit custom claims to under 50KB.
*
* @param {${JwtCustomizerTypeDefinitionKey.AccessTokenPayload}} token -The JWT token.
* @param {Data} data - Logto internal data that can be used to pass additional information
* @param {${JwtCustomizerTypeDefinitionKey.JwtCustomizerUserContext}} data.user - The user info associated with the token.
* @param {${JwtCustomizerTypeDefinitionKey.EnvironmentVariables}} [envVariables] - The environment variables.
*
* @param payload - The input payload of the function.
* @param {${JwtCustomizerTypeDefinitionKey.AccessTokenPayload}} payload.token -The JWT token.
* @param {Context} payload.context - Logto internal data that can be used to pass additional information
* @param {${JwtCustomizerTypeDefinitionKey.JwtCustomizerUserContext}} payload.context.user - The user info associated with the token.
* @param {${JwtCustomizerTypeDefinitionKey.EnvironmentVariables}} [payload.environmentVariables] - The environment variables.
*
* @returns The custom claims.
*/
exports.getCustomJwtClaims = async (token, data, envVariables) => {
const getCustomJwtClaims = async ({ token, context, environmentVariables }) => {
return {};
}`;

export const defaultClientCredentialsJwtCustomizerCode = `/**
* This function is called during the access token generation process to get custom claims for the JWT token.
* Limit custom claims to under 50KB.
*
* @param {${JwtCustomizerTypeDefinitionKey.ClientCredentialsPayload}} token -The JWT token.
* @param {${JwtCustomizerTypeDefinitionKey.EnvironmentVariables}} [envVariables] - The environment variables.
* @param payload - The input payload of the function.
* @param {${JwtCustomizerTypeDefinitionKey.ClientCredentialsPayload}} payload.token -The JWT token.
* @param {${JwtCustomizerTypeDefinitionKey.EnvironmentVariables}} [payload.environmentVariables] - The environment variables.
*
* @returns The custom claims.
*/
exports.getCustomJwtClaims = async (token, envVariables) => {
const getCustomJwtClaims = async ({ token, environmentVariables }) => {
return {};
}`;

Expand Down Expand Up @@ -170,8 +173,8 @@ return {
externalData: data,
};`;

export const environmentVariablesCodeExample = `exports.getCustomJwtClaims = async (token, data, envVariables) => {
const { apiKey } = envVariables;
export const environmentVariablesCodeExample = `const getCustomJwtClaims = async ({ token, context, environmentVariables }) => {
const { apiKey } = environmentVariables;
const response = await fetch('https://api.example.com/data', {
headers: {
Expand Down

0 comments on commit bddb16f

Please sign in to comment.