8

NextAuth.jsを使用して、サインアウトして再度サインインせずに、セッション オブジェクト内の値を更新するにはどうすればよいですか?

たとえば、ユーザーがサインインすると、セッションに保存されている URL を使用してユーザーのアバターを表示します。

また、ユーザーにアバターを変更するように提案しているので、session.user.imageアバターの新しいパスを更新して永続化したいと考えています。すべてのデータを MongoDB に保存しています。どうすればそれを達成できますか?現時点での唯一の解決策は、ユーザーにサインアウトしてから再度サインインするように依頼することですが、それは私にとって受け入れられる解決策とは思えません :)

私の最初のアイデアは、ユーザーが自分のアバターを更新したら、このセッション オブジェクトを更新することですが、その方法がわかりません。

import React from 'react'
import { signIn, signOut, useSession } from 'next-auth/client'

export default function Page() {
  const [ session, loading ] = useSession()

  return <>
    {session && <>
      <img src={session.user.image} />
      <button onClick={signOut}>Sign out</button>
    </>}
  </>
}
4

3 に答える 3