下面是我的代码:
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:而不是令牌你知道我该怎么办吗?
1条答案
按热度按时间gj3fmq9x1#
我今天也遇到了同样的问题。您需要将'account'作为回调函数中的参数传递。
字符串
现在,您已经获得了从API调用返回的所有数据。