Laravel 5.3 手动验证

Laravel 5.3 manual authentication

通过 link (Laravel 5.3)

验证用户

我正在尝试在用户关注特殊 link 时对其进行身份验证。 我通过 link 参数找到用户并像这样验证他

Auth::loginUsingId($client->id);

然后Auth::user() returns我需要的用户,就可以了。

但是当我尝试访问用户的个人资料页面时,它会将我重定向到 /login

如果我使用同一用户的凭据登录浏览器,我可以看到个人资料页面。 似乎它没有将信息保存到会话中。

我错过了什么?

我已经看到,如果您在 Auth::attempt() 之前输出任何内容(与 loginUsingId 相同),它将不起作用。确保在尝试登录之前或之后没有 echo 语句、dd、print 或任何其他内容。但是,这应该适合你:

比如说,对于这个例子,您的 URL 是某个域。com/autoLogin?userid=1

 public function autoLogin(Request $request){

    $id = $request->userid;

    $user = Account::find($id);
    Auth::login($user);

 } 

这将保留会话。