Quiero representar datos en el lado del cliente a continuación desde el análisis después de iniciar sesión desde la próxima autenticación usando useSession
{ objectId: 'nttMcKIOQJ', username: 'fiik346', email: 'fiik346@gmail.com', createdAt: '2022-06-26T07:56:41.888Z', updatedAt: '2022-06-26T07:56:41.888Z', ACL: { '*': { read: true }, nttMcKIOQJ: { read: true, write: true } }, sessionToken: 'r:2f2c569be3b5120f3893834c2ace7b67' }Pero es solo renderizar correo electrónico
{"user": {"email":"fiik346@gmail.com"},"expires":"2022-07-26T09:01:41.163Z"} "authenticated"Este es mi código de devolución de llamada
// /pages/api/auth/[...nextauth].js ... callbacks: { async session({ session, token, user }) { // Send properties to the client, like an access_token from a provider. return session }, async jwt({ token, user, account, profile, isNewUser }) { return token } }, ...Y el código del lado del cliente
import { useSession } from 'next-auth/react' import { getToken } from 'next-auth/jwt' export default function accountIndex() { const {data: session, status} = useSession() return ( <div> <h1>Account is {status}</h1> <pre className="overflow-auto"> {JSON.stringify(session)} <br/> {JSON.stringify(status)} </pre> </div> ) }No sé cómo cambiar mi código de devolución de llamada para mostrar datos de la base de datos
Después de un tiempo y de esforzarme más, logré procesar los datos. Simplemente cambie el código de devolución de llamada como se muestra a continuación.
... callbacks: { async session({ session, token, user }) { // Send properties to the client, like an access_token from a provider. session.accessToken = token.accessToken session.user = token.data return session }, async jwt({ token, user, account, profile, isNewUser }) { if (user) { token.data = user } return token } }, ... callbacks: { jwt: async ({token, user}) => { if (user) { token.data = user } return token }, session: async ({session, token}) => { if (token.data) { session.user = token.data } return session } }