我已經實現了自定義註冊,登錄和登出,我試圖重置密碼,但我發現的是如何發送重置密碼電子郵件給用戶,沒有如何重置密碼後。Auth0自定義重置密碼
PS:我不想如果要更新由代碼用戶的密碼才能使用auth0鎖或auth0部件
我已經實現了自定義註冊,登錄和登出,我試圖重置密碼,但我發現的是如何發送重置密碼電子郵件給用戶,沒有如何重置密碼後。Auth0自定義重置密碼
PS:我不想如果要更新由代碼用戶的密碼才能使用auth0鎖或auth0部件
,您可以通過使用Management API v2這樣做。
您將需要「更新」,用戶通過使用PATCH
動詞此資源:
https://{account-domain}/api/v2/users/{user-id}
和身體是這樣的:
{
"password" : "new_password",
"connection": "the_connection_to_use"
}
你需要爲這個承載令牌,您可以從Management API v2文檔頁面生成。
等效curl命令(新生產線增加了可讀性):
curl -H "Authorization: Bearer {your access token}"
-X PATCH
-H "Content-Type: application/json"
-d '{"password":"new_password","connection":"the_connection_to_use"}'
https://{account domain}/api/v2/users/user-id
請記住,如果最終用戶會觸發這個你也應該實現一種機制來驗證用戶的身份,如具有用戶首先登錄(如果他或她記住舊密碼)或通過發送帶有鏈接的電子郵件來啓動該過程。
要重置忘記的密碼,您可以通過僅傳遞電子郵件ID來使用Auth0庫中的'changePassword'方法。
以下片段是我們如何使用auth0-angular重置密碼(自定義)。
function reset(username){
angularAuth0.changePassword({
connection: 'Username-Password-Authentication',
responseType: 'token',
email: username,
}, callback);
}
這項工作正常用於用戶登錄;但是如何爲忘記密碼的用戶重置密碼 – Ayoub
兩件不同的事情。一方面你有「如何從應用程序更改用戶密碼」。你可以用上面提到的API來做到這一點。我雖然你的問題提到這一點。 另一方面,您有「如何確保用戶重置密碼是合法的」。 Auth0通過一個「ticket」來管理它,這是一個通過電子郵件發送的URL,它允許用戶在跟蹤該URL時更改密碼。由於只有那些有權訪問該電子郵件的人才能知道該URL,因此可以確定該用戶確實擁有該電子郵件地址。我不確定你想要改變的部分。 –