簡體   English   中英

如何在下一個身份驗證中從解析中呈現數據

[英]How to render data from parse in next-auth

我想在使用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'
}

但它只是呈現電子郵件

{"user": {"email":"fiik346@gmail.com"},"expires":"2022-07-26T09:01:41.163Z"}
"authenticated"

這是我的回調代碼

// /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
    }                                               },

...

和客戶端代碼

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>
  )
}

我不知道如何更改回調代碼以顯示數據庫中的數據

經過一段時間再努力,我成功地渲染了數據。 只需更改回調代碼,如下所示。

...

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
    }
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM