我正在使用next-auth.js进行身份验证,并且成功实现了凭据登录方法,成功验证后,jwt将存储在cookie中。
是否有办法检索此cookie,对其进行解码并取出我存储在其中的access_token
,以便在使用RTK查询的外部API调用中使用?我不希望在会话中提供此令牌
下面是我的next-auth.js配置文件
import NextAuth from "next-auth/next";
import CredentialsProvider from "next-auth/providers/credentials";
export default NextAuth({
providers: [
CredentialsProvider({
type: "credentials",
credentials: {},
authorize: async (user) => {
return user;
},
}),
],
pages: {
signIn: "/login",
},
callbacks: {
jwt: async ({ token, user }) => {
if (user) {
token.access_token = user.token;
token.id = user.id;
}
return token;
},
session: async ({ session, token }) => {
if (token) {
session.id = token.id;
}
return session;
},
},
session: {
strategy: "jwt",
},
});
1条答案
按热度按时间u1ehiz5o1#
有一个内置的helper方法getToken()可以实现这一点
如果使用
NEXTAUTH_SECRET
env变量,我们会检测到它,实际上不需要secret