laravel 的 lucadegasperi oauth2 服务器被 auth 中间件捕获时该怎么办?
What to do when lucadegasperi oauth2 server for laravel gets caught by auth middleware?
所以目前正在构建一个 oauth2 服务器:
- https://github.com/lucadegasperi/oauth2-server-laravel/blob/master/docs/authorization-server/auth-code.md
- 授权授权
- laravel 5.2
现在说明中没有任何地方说明用户未登录时该怎么做。(大多数情况下都是这种情况)
所以在那种情况下 - 用户点击 auth 中间件将他们踢到登录屏幕......但是之后该怎么办?没有什么传递到登录页面?那么我怎么知道将用户重定向回哪里呢?
现在是的,我当然可以自己做这件事,但在我这样做之前,我只想确保我没有遗漏任何东西?再次说明文档中没有地址,所以我只能假设这是经过深思熟虑的?
让我知道你的想法。
史蒂夫
所以刚刚在我的 Authenticate.php 文件中解决了这个问题。如果其他人好奇我这样做了:
$params = [];
if($request->has('client_id'))
$params['client_id'] = $request->client_id;
if($request->has('redirect_uri'))
$params['redirect_uri'] = $request->redirect_uri;
if($request->has('response_type'))
$params['response_type'] = $request->response_type;
if($request->has('scope'))
$params['scope'] = $request->scope;
if($request->has('state'))
$params['state'] = $request->state;
return redirect()->route('login', $params);
//return redirect()->guest('login');
已将此传递给我的 loginController。然后在登录控制器中:
$params = [];
if($this->request->has('redirect_uri'))
$params['redirect_uri'] = $this->request->redirect_uri;
if($this->request->has('response_type'))
$params['response_type'] = $this->request->response_type;
if($this->request->has('scope'))
$params['scope'] = $this->request->scope;
if($this->request->has('state'))
$params['state'] = $this->request->state;
if($this->request->has('client_id'))
{
$params['client_id'] = $this->request->client_id;
//dd($params);
return redirect()->route('oauth.authorize.get', $params);
}
如果您发现任何问题,请告诉我。
干杯
花旗
所以目前正在构建一个 oauth2 服务器:
- https://github.com/lucadegasperi/oauth2-server-laravel/blob/master/docs/authorization-server/auth-code.md
- 授权授权
- laravel 5.2
现在说明中没有任何地方说明用户未登录时该怎么做。(大多数情况下都是这种情况)
所以在那种情况下 - 用户点击 auth 中间件将他们踢到登录屏幕......但是之后该怎么办?没有什么传递到登录页面?那么我怎么知道将用户重定向回哪里呢?
现在是的,我当然可以自己做这件事,但在我这样做之前,我只想确保我没有遗漏任何东西?再次说明文档中没有地址,所以我只能假设这是经过深思熟虑的?
让我知道你的想法。
史蒂夫
所以刚刚在我的 Authenticate.php 文件中解决了这个问题。如果其他人好奇我这样做了:
$params = [];
if($request->has('client_id'))
$params['client_id'] = $request->client_id;
if($request->has('redirect_uri'))
$params['redirect_uri'] = $request->redirect_uri;
if($request->has('response_type'))
$params['response_type'] = $request->response_type;
if($request->has('scope'))
$params['scope'] = $request->scope;
if($request->has('state'))
$params['state'] = $request->state;
return redirect()->route('login', $params);
//return redirect()->guest('login');
已将此传递给我的 loginController。然后在登录控制器中:
$params = [];
if($this->request->has('redirect_uri'))
$params['redirect_uri'] = $this->request->redirect_uri;
if($this->request->has('response_type'))
$params['response_type'] = $this->request->response_type;
if($this->request->has('scope'))
$params['scope'] = $this->request->scope;
if($this->request->has('state'))
$params['state'] = $this->request->state;
if($this->request->has('client_id'))
{
$params['client_id'] = $this->request->client_id;
//dd($params);
return redirect()->route('oauth.authorize.get', $params);
}
如果您发现任何问题,请告诉我。
干杯
花旗