如何在svelte kit中访问负载函数中的jwt token ?



我已经将JWT令牌存储在会话存储中。但为了保护所有路线,我需要那个令牌。那么,我如何在服务器上运行的苗条工具包提供的加载函数上访问它呢?

您可以使用handlegetSession钩子的组合。

handle中,您可以访问请求的cookie,在这里您可以解析它们并将它们添加到请求中。稍后在getSession中,您可以使用它来填充会话。

export async function handle({ request, resolve }) {
request.locals.token= await getToken(request.headers.cookie);
const response = await resolve(request);
return response
}
export function getSession(request) {
return {
token: request.locals.token ?? ''
}
}

此会话对象可作为load函数的参数之一使用。

export async function load({ session }) {
const { token } = session
}

在大多数情况下,您将在句柄函数中解析令牌以获取存储在其中的数据,并将其传递给应用程序的其余部分。

最新更新