2017-04-06 157 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

是的,我检查过它并更改了工作流程。无论如何谢谢你的努力。 –