W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Moralis 允許您使用電子郵件和密碼對(duì)用戶進(jìn)行身份驗(yàn)證。 這些個(gè)人資料詳細(xì)信息可以稍后與 web3 錢(qián)包相關(guān)聯(lián)。
也可以通過(guò)用戶名和密碼在沒(méi)有錢(qián)包的情況下進(jìn)行身份驗(yàn)證。 這利用了內(nèi)置的 ?Moralis.User
? 類(lèi)。
這個(gè)類(lèi)擴(kuò)展了 ?Moralis.Object
? 一些額外的屬性:
username
?:用戶的用戶名(必填)
password
?:用戶的密碼(注冊(cè)時(shí)需要)
email
?:用戶的郵箱地址(可選)使用 ?
Moralis.User.signUp(username, password)
?創(chuàng)建新用戶
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
?方法。 使用用戶名創(chuàng)建的新 ?Moralis.User
? 應(yīng)始終使用 ?signUp
?方法創(chuàng)建。 可以通過(guò)調(diào)用 ?save
?來(lái)完成對(duì)用戶的后續(xù)更新
此調(diào)用將在您的 Moralis 數(shù)據(jù)庫(kù)中異步創(chuàng)建一個(gè)新用戶。 在它這樣做之前,它還
bcrypt
?安全地對(duì)云中的密碼進(jìn)行哈希處理。我們永遠(yuǎn)不會(huì)以明文形式存儲(chǔ)密碼,也不會(huì)以明文形式將密碼傳送回客戶端。
如果注冊(cè)不成功,您應(yīng)該閱讀返回的錯(cuò)誤對(duì)象,但在大多數(shù)情況下,這是因?yàn)橛脩裘螂娮余]件已被其他用戶使用。 您應(yīng)該清楚地向您的用戶傳達(dá)這一點(diǎn),并要求他們嘗試不同的用戶名。
您可以自由地使用電子郵件地址作為用戶名,如果是這樣,只需要求您的用戶在用戶名屬性中輸入他們的電子郵件 - ?Moralis.User
? 將正常工作。
注冊(cè)后可以允許用戶通過(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īng)用程序的設(shè)置中啟用電子郵件驗(yàn)證允許應(yīng)用程序?yàn)橐汛_認(rèn)電子郵件地址的用戶保留部分體驗(yàn)。
電子郵件驗(yàn)證將 ?emailVerified
?鍵添加到 ?Moralis.User
? 對(duì)象。 當(dāng)設(shè)置或修改 ?Moralis.User
? 的電子郵件時(shí),?emailVerified
?設(shè)置為 ?false
?。 ?Moralisthen
?通過(guò)電子郵件向用戶發(fā)送一個(gè)鏈接,該鏈接會(huì)將 ?emailVerified
?設(shè)置為 ?true
?。
需要考慮三種 ?emailVerified
?狀態(tài):
true
?- 用戶通過(guò)單擊 Moralis 通過(guò)電子郵件發(fā)送給他們的鏈接來(lái)確認(rèn)他或她的電子郵件地址。 首次創(chuàng)建用戶帳戶時(shí),?Moralis.Users
? 永遠(yuǎn)不會(huì)具有真實(shí)值。
false
?- 用戶沒(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í),用戶會(huì)忘記它們。 在這種情況下,我們的圖書(shū)館提供了一種方法,讓他們通過(guò)發(fā)送帶有重置鏈接的電子郵件來(lái)安全地重置密碼。
要啟動(dòng)密碼重置流程,請(qǐng)?jiān)儐?wèn)用戶他們的電子郵件地址,然后致電:
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);
});
這將嘗試將給定的電子郵件與用戶的電子郵件或用戶名字段匹配,并向他們發(fā)送密碼重置電子郵件。 通過(guò)這樣做,您可以選擇讓用戶使用他們的電子郵件作為他們的用戶名,或者您可以單獨(dú)收集它并將其存儲(chǔ)在電子郵件字段中。
密碼重置流程如下:
請(qǐng)注意,此流程中的消息將使用您在 Moralis 上創(chuàng)建此應(yīng)用程序時(shí)指定的名稱(chēng)引用您的應(yīng)用程序。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: