更新next-auth会话对象以响应用户的补丁请求更新
P粉748218846
P粉748218846 2023-08-26 10:02:00
0
1
584
<p>我在互联网上搜索了很久,但没有找到答案。有一些方法可以解决这个问题,但是当我尝试时,它们对我没有起作用。 所以,当用户登录并创建会话时,我如何在通过API后端的补丁请求更新用户后更新该会话对象中的新数据。 谢谢大家的回复和时间。</p> <p>我尝试了各种在网上找到的“技巧”,对一些人有效,但对我无效。 我希望在调用补丁并更新用户数据后更新会话对象。</p>
P粉748218846
P粉748218846

全部回复(1)
P粉481815897

所以我在Medium上写了一篇关于如何修复这个问题的文章:如何使用useSession() Hook在NextAuth中更新用户会话数据

import { useSession } from 'next-auth/client';

export default function UserInfo() {
  const { data: session, update } = useSession();

  const handleUpdateUser = async () => {
    const newSession = {
      ...session,
      user: {
        ...session?.user,
        email: "someone@example.com"
      },
    };

    await update(newSession);
  };

  return (
    <button onClick={handleUpdateUser}>
      更新用户
    </button>
  );
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板