[英]Verify user is owner of an NFT via MetaMask connection? Make sure connected users public eth address is the same as of the NFT?
我需要在我自己的域/服務器上驗證連接了他的 MetaMask 錢包的用戶是特定 NFT 的所有者,以便允許他使用特殊功能? 基本上,我想讓用戶訪問只有這個 NFS 的所有者才能擁有的區域。
我原來的 NFT 在 opensea 出售,但我不能使用 opensea 隱藏區域選項給用戶一個隱藏密碼,因為下一個所有者(轉售后)和舊所有者將擁有相同的密碼並且舊所有者仍然可以訪問像這樣。 但我需要只有當前所有者才能訪問。
我的用戶/訪問者已經可以在我自己的域中與 MetaMask 連接,並且我獲得了活動帳戶的公共 ETH 地址,但由於這只是 javascript 而我的后端是 PHP,我不能只將 MetaMask 信息發布到我的 PHP 后端,因為這很容易被欺騙/破解。
如何確保當前連接的 MetaMask 帳戶與 NFT 所有者(我知道)相同,並只允許該用戶訪問 URL?
我目前的狀態是用戶連接了他的 MetaMask,我使用 opensea API 檢查當前誰是 NFT 的所有者。 我可以比較兩個 eth 地址,但其中的缺陷顯然是我使用 ajax 將 MetaMask 公共地址發送到我的后端,這僅用於測試,因為這當然是零保存!
提前感謝您的任何想法,幫助,我能得到的小費。
PS:我的后端是 PHP
經過數小時和數天的研究,我找到了一個適合我的解決方案。
這是所需的步驟。
我相信這可以安全使用,但我不是這方面的專家。 就我而言,這僅授權 NFT 所有者對我的社區頁面中的某個封閉區域進行授權,並沒有涉及到真正的高風險,但也許有人對此提出了一些安全想法。 但是,我發現其他 NFT 頁面甚至 Opensea 的工作方式類似。
我希望這為某人指明了正確的方向,因為大多數解決方案都是 Node.js 等,但不是 PHP 后端,所以我花了很多時間弄清楚這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.