nextAuth.js accessToken未定义,我得到的是{iat,exp,jti}

vecaoik1  于 2023-08-04  发布在  其他
关注(0)|答案(1)|浏览(75)

下面是我的代码:

import NextAuth from "next-auth"
import CredentialsProvider from "next-auth/providers/credentials"

export default NextAuth({
  sectret:process.env.NEXTAUTH_SECRET,
  session: {
    strategy: "jwt",
  },
  providers: [
    CredentialsProvider({
        name: 'Credentials',
        type: 'credentials',
        credentials: {},
       
        async authorize(credentials, req) {
            const res = await fetch("http://localhost:3000/api/user/login", {
              method: "POST",
              body: JSON.stringify(credentials),
              headers: { "Content-Type": "application/json" },
            });
            const resJson = await res.json();
            const user = resJson.user;
            if (user) {
              return user;
            } else {
              return null;
            }
            
            
            
    }
})
    // ...add more providers here
  ],
  callbacks: {
    async jwt({ token, account}) {
      console.log(account)
      return token;
    },
    async session({ session, token }) {
      session.user = token;
  
      return session;
    },
  },
  pages: {
    signIn: '/auth/signin',
  }
})

字符串
我已经尝试了很多我在别人的代码中看到的东西,但我似乎无法获得accessToken,我使用的是next.js latest
登录后得到的响应是{iat:4234234,失效日期:23423423424,jti:而不是令牌你知道我该怎么办吗?

gj3fmq9x

gj3fmq9x1#

我今天也遇到了同样的问题。您需要将'account'作为回调函数中的参数传递。

....
async function jwt({ token, user, account }) {
  return { ...token, ...user, ...account };
}

字符串
现在,您已经获得了从API调用返回的所有数据。

相关问题