新聞中心
Moralis 允許您使用電子郵件和密碼對(duì)用戶(hù)進(jìn)行身份驗(yàn)證。 這些個(gè)人資料詳細(xì)信息可以稍后與 Web3 錢(qián)包相關(guān)聯(lián)。

創(chuàng)新互聯(lián)建站長(zhǎng)期為上1000家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為彭山企業(yè)提供專(zhuān)業(yè)的網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,彭山網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
使用用戶(hù)名注冊(cè)
也可以通過(guò)用戶(hù)名和密碼在沒(méi)有錢(qián)包的情況下進(jìn)行身份驗(yàn)證。 這利用了內(nèi)置的 ?Moralis.User? 類(lèi)。
這個(gè)類(lèi)擴(kuò)展了 ?Moralis.Object? 一些額外的屬性:
- ?
username?:用戶(hù)的用戶(hù)名(必填) - ?
password?:用戶(hù)的密碼(注冊(cè)時(shí)需要) - ?
email?:用戶(hù)的郵箱地址(可選)
使用 ?
Moralis.User.signUp(username, password)?創(chuàng)建新用戶(hù)
const user = new Moralis.User();
user.set("username", "my name");
user.set("password", "my pass");
user.set("email", "email@example.com");
// other fields can be set just like with Moralis.Object
user.set("phone", "415-392-0202");
try {
await user.signUp();
// Hooray! Let them use the app now.
} catch (error) {
// Show the error message somewhere and let the user try again.
alert("Error: " + error.code + " " + error.message);
}
請(qǐng)注意,我們使用了?
signUp?方法,而不是?save?方法。 使用用戶(hù)名創(chuàng)建的新 ?Moralis.User? 應(yīng)始終使用 ?signUp?方法創(chuàng)建。 可以通過(guò)調(diào)用 ?save?來(lái)完成對(duì)用戶(hù)的后續(xù)更新
數(shù)據(jù)庫(kù)中的用戶(hù)
此調(diào)用將在您的 Moralis 數(shù)據(jù)庫(kù)中異步創(chuàng)建一個(gè)新用戶(hù)。 在它這樣做之前,它還
- 檢查以確保用戶(hù)名和電子郵件都是唯一的。
- 它使用 ?
bcrypt?安全地對(duì)云中的密碼進(jìn)行哈希處理。
我們永遠(yuǎn)不會(huì)以明文形式存儲(chǔ)密碼,也不會(huì)以明文形式將密碼傳送回客戶(hù)端。
處理注冊(cè)錯(cuò)誤
如果注冊(cè)不成功,您應(yīng)該閱讀返回的錯(cuò)誤對(duì)象,但在大多數(shù)情況下,這是因?yàn)橛脩?hù)名或電子郵件已被其他用戶(hù)使用。 您應(yīng)該清楚地向您的用戶(hù)傳達(dá)這一點(diǎn),并要求他們嘗試不同的用戶(hù)名。
您可以自由地使用電子郵件地址作為用戶(hù)名,如果是這樣,只需要求您的用戶(hù)在用戶(hù)名屬性中輸入他們的電子郵件 - ?Moralis.User? 將正常工作。
使用用戶(hù)名登錄
注冊(cè)后可以允許用戶(hù)通過(guò)?logIn?方法登錄
const user = await Moralis.User.logIn("myname", "mypass");
// Do stuff after successful login.默認(rèn)情況下,SDK 使用 GET HTTP 方法。 如果您想覆蓋它并改用 POST HTTP 方法,您可以在 options 參數(shù)中使用鍵 ?usePost ?傳遞一個(gè)可選的布爾屬性。
const user = await Moralis.User.logIn("myname", "mypass", { usePost: true });
// Do stuff after successful login.
驗(yàn)證電子郵件
在應(yīng)用程序的設(shè)置中啟用電子郵件驗(yàn)證允許應(yīng)用程序?yàn)橐汛_認(rèn)電子郵件地址的用戶(hù)保留部分體驗(yàn)。
電子郵件驗(yàn)證將 ?emailVerified ?鍵添加到 ?Moralis.User? 對(duì)象。 當(dāng)設(shè)置或修改 ?Moralis.User? 的電子郵件時(shí),?emailVerified ?設(shè)置為 ?false?。 ?Moralisthen ?通過(guò)電子郵件向用戶(hù)發(fā)送一個(gè)鏈接,該鏈接會(huì)將 ?emailVerified ?設(shè)置為 ?true?。
需要考慮三種 ?emailVerified ?狀態(tài):
- ?
true?- 用戶(hù)通過(guò)單擊 Moralis 通過(guò)電子郵件發(fā)送給他們的鏈接來(lái)確認(rèn)他或她的電子郵件地址。 首次創(chuàng)建用戶(hù)帳戶(hù)時(shí),?Moralis.Users? 永遠(yuǎn)不會(huì)具有真實(shí)值。 - ?
false?- 用戶(hù)沒(méi)有通過(guò)單擊 Moralis 通過(guò)電子郵件發(fā)送給他們的鏈接來(lái)確認(rèn)他/她的電子郵件地址。 如果 ?emailVerified?為 ?false?,請(qǐng)考慮在 ?Moralis.User?上調(diào)用 ?fetch?。 - ?
undefined (missing)?- 此 ?Moralis.User? 是在未設(shè)置電子郵件驗(yàn)證時(shí)創(chuàng)建的,或者 ?Moralis.User? 在注冊(cè)時(shí)沒(méi)有電子郵件。
重置密碼
當(dāng)您將密碼引入系統(tǒng)時(shí),用戶(hù)會(huì)忘記它們。 在這種情況下,我們的圖書(shū)館提供了一種方法,讓他們通過(guò)發(fā)送帶有重置鏈接的電子郵件來(lái)安全地重置密碼。
要啟動(dòng)密碼重置流程,請(qǐng)?jiān)儐?wèn)用戶(hù)他們的電子郵件地址,然后致電:
Moralis.User.requestPasswordReset("email@example.com")
.then(() => {
// Password reset request was sent successfully
}).catch((error) => {
// Show the error message somewhere
alert("Error: " + error.code + " " + error.message);
});這將嘗試將給定的電子郵件與用戶(hù)的電子郵件或用戶(hù)名字段匹配,并向他們發(fā)送密碼重置電子郵件。 通過(guò)這樣做,您可以選擇讓用戶(hù)使用他們的電子郵件作為他們的用戶(hù)名,或者您可以單獨(dú)收集它并將其存儲(chǔ)在電子郵件字段中。
密碼重置流程如下:
- 用戶(hù)通過(guò)輸入電子郵件請(qǐng)求重置密碼。
- Moralis 會(huì)向他們的地址發(fā)送一封電子郵件,其中包含一個(gè)特殊的密碼重置鏈接。
- 用戶(hù)單擊重置鏈接并被定向到一個(gè)特殊的 Moralis 頁(yè)面,該頁(yè)面將允許他們輸入新密碼。
- 用戶(hù)輸入新密碼。 他們的密碼現(xiàn)在已重置為他們指定的值。
請(qǐng)注意,此流程中的消息將使用您在 Moralis 上創(chuàng)建此應(yīng)用程序時(shí)指定的名稱(chēng)引用您的應(yīng)用程序。
新聞名稱(chēng):創(chuàng)新互聯(lián)Moralis教程:Moralis電子郵件認(rèn)證
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/dpeogog.html


咨詢(xún)
建站咨詢(xún)
