通过链接验证用户(Laravel 5.3)
我正在尝试在跟踪特殊链接时对用户进行身份验证。 我通过链接参数找到用户并像这样验证他
Auth::loginUsingId($client->id);
之后Auth::user()
返回我需要的用户,这一切都很好。
但是当我尝试访问用户的个人资料页面时,它会将我重定向到/login
。
如果我使用相同的用户凭据登录浏览器,我可以看到个人资料页面。 似乎它不会将信息保存到会话。
我错过了什么?
答案 0 :(得分:1)
我已经看到如果在Auth :: attempt()之前输出任何内容(与loginUsingId相同),它就不起作用了。在尝试登录之前或之后,确保没有echo语句,dd,print或其他任何内容。但是,这应该适合你:
说,对于此示例,您的网址是somedomain.com/autoLogin?userid=1
public function autoLogin(Request $request){
$id = $request->userid;
$user = Account::find($id);
Auth::login($user);
}
这将持续会话。