fixes; readme

This commit is contained in:
Maxime Renou
2020-05-12 16:56:50 +02:00
parent 911045cdd2
commit a965ace522
3 changed files with 200 additions and 27 deletions

View File

@@ -132,30 +132,35 @@ class Connect
return redirect()->to($url);
}
public function loginFromCallback(Request $request)
public function checkState(Request $request)
{
// State check
if (!session()->has('connect_states')) {
Log::debug("Missing session states");
return redirect('/');
return false;
}
$states = session()->get('connect_states');
if (!is_array($states)) {
Log::debug("Invalid session state");
return redirect('/');
return false;
}
if (!$request->has('state') || !in_array($request->state, $states)) {
Log::debug("Missing valid state in request");
return redirect('/');
return false;
}
unset($states[array_search($request->state, $states)]);
session()->put('connect_states', $states);
return true;
}
public function loginFromCallback(Request $request, $redirect_to = '/')
{
if (!$this->checkState($request))
return redirect('/');
// Code check
@@ -184,7 +189,7 @@ class Connect
auth()->login($user, true);
return redirect('/');
return redirect($redirect_to);
}
public function getAccessTokenFromAuthorizationCode($code)
@@ -355,7 +360,7 @@ class Connect
foreach ($model::all() as $item)
{
if (!in_array(intval($item->id), $identifiers))
$item->delete();
$model::onConnectResourceDoesNotExist($item);
}
}
}