2017-04-06 136 views
2

全部。我只是試圖使用Laravel和護照應用來實現單點登錄服務器。註冊後Laravel oauth用戶重定向

我想實現的目標:一個單一登錄服務器,它監聽來自客戶端的請求並根據請求的參數提供認證。

到目前爲止我所取得的成果:僅當用戶已在SSO服務器上註冊時才監聽客戶端請求並提供認證和重定向回客戶端站點的SSO服務器。

當用戶未在SSO服務器上註冊並嘗試註冊帳戶時,問題即將出現在圖片上在這種情況下,Laravel註冊用戶並重定向回主頁,而不是客戶端回調URL。 請讓我知道這是否可以在Laravel中實現或者是否有人爲它做了特別的事情。

回答

1

這幾乎是可以實現的,取決於你想付出多少努力。

當用戶註冊時,您可以將回調URL保存在會話中。

session(['callback' => $callback]); 

經註冊,如果你還在使用laravel提供的默認認證/ RegisterController將用戶重定向到其回調URL

return redirect()->away(session('callback')); 

,您可以通過定義一個自定義的重定向功能改變重定向行爲

protected function redirectTo() 
{ 
    return redirect()->away(session('callback')); 
} 

Laravel會自動檢測它。

不要忘了刪除屬性

protected $redirectTo = '/home'; 
+0

感謝您的回答,但是這是我不需要。我需要的是用laravel護照應用程序生成的身份驗證密鑰將用戶重定向到客戶端服務器。如果用戶使用現有的憑據登錄,但不在註冊中,則工作正常。 –

+0

您可以將令牌添加到回調中......但是。不完全是你想要的。抱歉。 – EddyTheDove

+0

是的,我檢查過它並更改了工作流程。無論如何謝謝你的努力。 –