2013-10-19 43 views
1

只有使用令牌重置密碼的最佳方法是什麼?Laravel 4,只用令牌重置密碼(如何檢查並獲取用戶)

現在它帶有令牌和電子郵件,我想通過檢查提醒表中的托架來獲取電子郵件。

謝謝!

更新 的解決了這個:

$電子郵件= DB ::表(配置::得到( 'auth.reminder.table')) - >在哪裏( '令牌',$令牌) - >拔毛( '電子郵件');

+0

目前尚不清楚你在問什麼。通常重置密碼的過程如下:用戶輸入電子郵件。帶有包含令牌的鏈接的電子郵件將發送到指定的地址。用戶點擊鏈接,他被重定向到一個表單來輸入他的新密碼。然後密碼被重置。你有沒有跟着任何教程?你有沒有嘗試過任何代碼?請說明您嘗試了什麼以及哪些不適合您。 –

+0

在教程中,我們有一個包含令牌和表單的鏈接。在這種形式下,我們有3個字段:電子郵件(!),密碼和password_confirmation。所以,我不想使用瘦電郵字段 – Alex

回答

2

下面是我如何進行密碼重置。

  1. 用戶點擊忘記密碼鏈接,並採取一個表單與一個領域的電子郵件。
  2. 他們輸入他們的註冊電子郵件地址,我檢查電子郵件中存在的電子郵件。如果是這樣,我使用Str :: random(60)爲該用戶存儲一個隨機重置代碼。然後,我保存用戶並通過電子郵件向他們發送帶有重置代碼的鏈接(例如,http://domain.com/reset/CODE)。
  3. 用戶單擊該鏈接並將其帶到上面檢查CODE的URL。如果數據庫中存在CODE,則使用Str :: random(10)將匹配用戶的密碼重置爲隨機值,並將此新密碼郵寄給用戶。

不知道這是對/錯,但它適用於我。

+0

是的,沒關係。但我正在學習和使用Laravel的本地API進行身份驗證並使用密碼進行操作(身份驗證,密碼等)。不管怎麼說,還是要謝謝你。我在問題 – Alex

+0

的更新部分中發佈的解決方案好的,真棒。很高興聽到您找到解決方案。 – nitrammit

+0

我已經描述過,我需要在不同帳戶上使用同一封電子郵件的可能性。所以我做了另一個修改:) – Alex

相關問題