【问题标题】:Laravel Social OAuth Authentication - Password?Laravel 社交 OAuth 身份验证 - 密码?
【发布时间】:2016-10-20 05:47:13
【问题描述】:

我正在使用 Laravel Socialite 通过外部网站注册用户。这很好用,但我对确保用户每次访问我的网站时都经过身份验证的最佳方式感到困惑。

通常,用户将使用用户名/电子邮件地址和密码进行注册。然后,我们根据他们输入的凭据检查数据库并将该用户登录。但是通过外部网站进行身份验证时,我无法访问该用户的密码,只能访问其他可用的凭据(即从第 3 方网站获得的电子邮件地址)。

那么,如果他们通过外部网站注册/登录,一旦用户被重定向回我的网站,我是否应该像这样进行身份验证?这是我感到困惑的地方,因为通常我包含第二个键/值对,它是用户的密码。

if (Auth::attempt(['email' => $user['email']))
{
   return redirect()->route('route');
}

更新:

这个简单的 Laravel 身份验证不就足够了吗?我用来登录的第 3 方网站处理身份验证工作量。看来我只需要通过 Laravel 进行身份验证就可以为当前用户使用 Auth 门面。

【问题讨论】:

  • 你在使用像 firebase 这样的服务吗?
  • 我不是。只是用于 OAuth 的 Laravel Socialite 包。除了简单的身份验证之外不需要任何其他东西。

标签: laravel laravel-5.2


【解决方案1】:

我解决这个问题的方法很简单。第三方网站处理他们的身份验证,一旦用户被重定向回我的网站,他们就可以开始了。所以,我只是向他们推送一个会话 cookie,他们都设置好了。

Auth::login($user, true);

【讨论】:

    猜你喜欢
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 2020-06-10
    • 2016-12-15
    • 1970-01-01
    • 2019-09-20
    相关资源
    最近更新 更多