【发布时间】:2020-08-16 01:55:03
【问题描述】:
我创建了一种方法,可以通过来自单独网站的链接将用户登录到我们的网站。我们使用令牌和用户名来查找用户,然后使用内置的登录方法对他们进行身份验证(我可以确认这一切都按预期工作)。
函数如下:
public function login($username, $token, $redirect)
{
$accountLogin = AccountLogin::Where('username', $username)
->Where('token', $token)
->first();
if ($accountLogin) {
try {
Auth::login($accountLogin);
print_r(Auth::check()) // prints 1.
header('Location: ' . $redirect);
exit;
} catch (\Exception $e) {
return $e->getMessage();
}
}
echo(array(
'status' => 'error',
'message' => 'Error logging in'
));
}
我的问题是用户在重定向后似乎已注销。
在上面的函数中,我可以看到该帐户已找到,并且
Auth::check() 返回 1,或者如果我回显 Auth::User(),那么我确实得到了用户信息。
然后我们尝试进行重定向,该重定向应将我们带到作为参数传入的路由(您确实需要对所有这些路由进行身份验证),但我被重定向到主页并注销。如果我从该页面登录,那么它会将我带到我最初想要访问的 url(所以它就像记住我想去的地方,但就是不承认我已经登录了)。
两个站点目前都通过 apache 在本地运行。
TIA。
【问题讨论】:
标签: php laravel authentication laravel-5