2016-06-18 160 views
2

我正在使用Laravel Socialite通過外部網站註冊用戶。這工作得很好,但我很困惑,以確保用戶每次來到我的網站時進行身份驗證的最佳方式。Laravel社交OAuth身份驗證 - 密碼?

通常,用戶將使用用戶名/電子郵件地址和密碼進行註冊。然後,我們根據他們輸入的憑證檢查數據庫並記錄該用戶。但通過外部網站進行身份驗證,我無法訪問該用戶的密碼,只有其他可用的憑據(即從第三方網站獲得的電子郵件地址)。

因此,如果他們通過外部網站註冊/登錄,一旦用戶被重定向回到我的網站,我是否應該這樣認證?這是我感到困惑的地方,因爲通常我會包含第二個鍵/值對,這是用戶的密碼。

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

UPDATE:

不應該這個簡單的Laravel認證是否足夠呢?我用來登錄的第三方網站處理認證工作負載。看來我只需要通過Laravel進行身份驗證就可以爲當前用戶使用Auth門面。

+0

您使用的是Firebase等服務嗎? –

+0

我不是。僅用於OAuth的Laravel Socialite包。除簡單認證之外不需要其他任何東西 –

回答

0

我解決這個問題的方式很簡單。第三方網站處理他們的身份驗證,一旦用戶重定向到我的網站,他們很好去。所以,我只是推送一個會話cookie給他們,他們都設置好了。

Auth::login($user, true);