在 Next-Auth 中使用会话 ID 而不是 JWT 进行身份验证

Using Session IDs instead of JWT for Authentication in Next-Auth

提问人:Migliorelli 提问时间:11/15/2023 更新时间:11/15/2023 访问量:17

问:

我希望你们一切都好。我目前正在 Next.js 项目中使用 Next-Auth,并且我有一个关于使用会话 ID 而不是 JWT 进行身份验证的问题。

在我的身份验证设置中,我当前使用 JWT 进行会话身份验证,但我想探索使用会话 ID 的可能性。

以下是我当前 Next-Auth 配置的片段:

providers: [
  CredentialsProvider({
    name: "credentials",
    credentials: {
      // my credentials
    },

    // authorize function
    async authorize(credentials, request) {
      const response = await fetch("api url", {
        method: "POST",
        headers: {
          "Content-type": "application/json",
        },
        body: JSON.stringify({
          // my credentials
        }),
      });

      // await user
      const data = await response.json();
      const user = data.user

      // error handling
      if (user && response.ok) {
        return user;
      }
      
      return null;
    },
  }),
],

pages: { signIn: "/entrar" },

callbacks: {
  // json web token
  async jwt({ token, user }) {
    if (user) token.user = user;
    return token;
  },

  // session (is logged in)
  async session({ session, token }) {
    session = token.user as Session;
    return session;
  },
},
// ... (existing code)

我想知道如何修改此设置以使用会话 ID 而不是 JWT 进行身份验证。如果有人在这方面有经验或能为我指出正确的方向,我将不胜感激。

我还想知道 JWT 是否还不是会话 ID,但据我所知它不是,所以我真的应该以不同的方式处理它。如果我错了,请向我解释。

提前感谢您的帮助!

身份验证 会话 next.js jwt next-auth

评论


答: 暂无答案