簡體   English   中英

next-auth/discord 回調不會修改數據

[英]next-auth/discord callbacks arent modifying data

我正在使用next-auth/discord ,但是當使用session回調將用戶 ID 設置為 session 時,它不會設置該屬性。

[...nextauth].js

import NextAuth from "next-auth/next";
import DiscordProvider from "next-auth/providers/discord";

export default NextAuth({
  providers: [
    DiscordProvider({
      ...
      session: {
        strategy: "jwt",
        ...
      },
      callbacks: {
        async session({ session, user }) {
          session.user.id = user.id;
          return session;
        }
      }
    })
  ]
});

/api/page.js

import { getSession } from 'next-auth/react';

export default async function handler(req, res) {
  const session = await getSession({ req });
  console.log(session);
}

這記錄:

{
  user: {
    name: ...,
    email: ...,
    image: ...
  },
  expires: ...
}

沒有user.id屬性。

修復它,回調應該在NextAuth object 中。回調也應該是:

async jwt({ token, user }) {
      if (user) {
        token.id = user.id
      }
      return token
    },
    async session({ session, token }) {
      session.user.id = token.id
      return session
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM