用戶註冊我的網站後,系統會發送激活鏈接到用戶的電子郵件和令牌提供的電子郵件。如果電子郵件和令牌與數據庫匹配,那麼它應該更新狀態。狀態已成功更新。我現在想要的是點擊鏈接後自動登錄。如何激活用戶帳戶後自動登錄
以下代碼用於檢查請求是否有效,並在匹配後進行登錄。
http://localhost:8000/verify?email=[email]&token=[token]
控制器
/* GET Method
*/
public function verify(Request $request)
{
if($request->email && $request->token)
{
$user = \DB::table('users')
->where('email', '=', $request->email)
->where('verified_token', '=' , $request->token);
//if $user found then automatic login
}
}
下面是我的user.php的
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Database\Eloquent\Model;
class User extends Authenticatable
{
use Notifiable;
//more codes below
}
順便說一句,我使用laravel 5.4
試過這但錯誤發生'類型錯誤:傳遞給Illuminate \ Auth \ SessionGuard :: login()的參數1必須是n Illuminate \ Contracts \ Auth \ Authenticatable的實例,給出的stdClass實例,294行的Illuminate/Auth/AuthManager.php' – smzapp
'給定的對象必須是Illuminate \ Contracts \ Auth \ Authenticatable契約的實現。當然,Laravel附帶的App \ User模型已經實現了這個接口。確保你的用戶模型實現了'Authenticatable'接口 – linktoahref
是的。將其添加到我的問題 – smzapp