如何解决如何使用graphql在next-auth会话中添加额外数据
我正在尝试将 next-auth 与 nextjs 和trapi 与 graphql 一起用作后端。
使用 next-auth 我使用的是 /api/auth/
端点,下面是我用于该端点的代码。
[...nextauth] .js
import NextAuth from "next-auth";
import Providers from "next-auth/providers";
import axios from "axios";
const loginAPI = async (email,password) => {
try {
return axios.post(
"http://localhost:1337/graphql",{
query: `
mutation login($identifier: String!,$password:String!){
login(input:{
identifier:$identifier,password: $password
}){
jwt
user{
username
email
id
}
}
}`,variables: {
identifier: email,password: password,},{
headers: {
"Content-Type": "application/json",}
);
} catch (error) {
console.log(error);
}
// console.log(rs);
};
export default NextAuth({
// session: { jwt: true },callbacks: {
session: async (session,user,_sessionToken) => {
session.user.id = user.id;
return Promise.resolve(session);
},providers: [
Providers.Credentials({
async authorize(credetials) {
const { data } = await loginAPI(credetials.email,credetials.password);
if (!data) {
throw new Error("invalid data");
}
return {
email: data.data.login.user.email,userid: data.data.login.user.id,accessToken: data.data.login.jwt,};
},}),],});
我想向会话添加一些数据,例如 userId,但是当我尝试使用 getSession
访问时,它返回
我不知道如何将 name
和 image
属性添加到会话而不是 userId
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。