Heim  >  Fragen und Antworten  >  Hauptteil

Aktualisieren Sie das Sitzungsobjekt für die nächste Authentifizierung als Reaktion auf die Aktualisierung der Patch-Anfrage des Benutzers

<p>Ich habe lange im Internet gesucht, aber keine Antwort gefunden. Es gibt einige Möglichkeiten, dieses Problem zu beheben, aber als ich sie ausprobiert habe, haben sie bei mir nicht funktioniert. Wenn sich also ein Benutzer anmeldet und eine Sitzung erstellt wird, wie aktualisiere ich dann die neuen Daten in diesem Sitzungsobjekt, nachdem der Benutzer über eine Patch-Anfrage im API-Backend aktualisiert wurde? Vielen Dank an alle für eure Antworten und eure Zeit. </p> <p>Ich habe verschiedene „Tricks“ ausprobiert, die ich online gefunden habe, und sie haben bei einigen Leuten funktioniert, bei mir jedoch nicht. Ich möchte, dass das Sitzungsobjekt aktualisiert wird, nachdem der Patch aufgerufen und die Benutzerdaten aktualisiert wurden. </p>
P粉748218846P粉748218846443 Tage vor555

Antworte allen(1)Ich werde antworten

  • P粉481815897

    P粉4818158972023-08-27 09:17:05

    所以我在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>
      );
    }

    Antwort
    0
  • StornierenAntwort