所有。我只是尝试使用Laravel和护照应用程序实现单点登录服务器。
我想要实现的目标:单点登录服务器,它从客户端收听请求并根据请求的参数提供身份验证。
到目前为止我所取得的成就:只有当用户已经在SSO服务器上注册时,才会收听客户端请求并提供身份验证并重定向回客户端站点的SSO服务器
当用户未在SSO服务器上注册并尝试注册帐户时,问题就出现了。在这种情况下,Laravel注册用户并重定向回主页而不是客户端回调URL。 如果在Laravel中可以实现这一点,或者某人为此做了特别的事情,请告诉我。
答案 0 :(得分:1)
这几乎是可以实现的,取决于你想要投入多少努力。
当用户注册时,您可以在会话中保存回调URL。
session(['callback' => $callback]);
注册后,将用户重定向到其回调网址
return redirect()->away(session('callback'));
如果您仍在使用laravel提供的默认Auth / RegisterController,则可以通过定义自定义重定向功能来更改重定向行为
protected function redirectTo()
{
return redirect()->away(session('callback'));
}
Laravel会自动捡起来。
不要忘记删除属性
protected $redirectTo = '/home';