Как я могу реализовать резервную проверку подлинности с помощью стороннего API в Laravel 5.7?
Привет и спасибо всем, кто нашел время, чтобы просмотреть это.
Вот небольшой фон. Наша текущая система имеет клиентскую панель, которая содержит набор пользователей. При входе в эту панель сначала он увидит, есть ли имя пользователя в базе данных. Если он не находит его, он вызывает сторонний API, у которого есть список администраторов "веб-мастеров" и там проверяет учетные данные.
Я пытаюсь реализовать эту функциональность в Laravel 5.7, и я не уверен, как это сделать. До сих пор я создал класс ActiveDirectory, который вызывает API для проверки учетных данных. Тогда в LoginController
У меня есть следующий блок:
public function login(Request $request)
{
// Validate the form data
$this->validate($request, [
$this->username() => 'required',
'password' => 'required|min:6'
]);
if ($this->attemptLogin($request)) {
return $this->sendLoginResponse($request);
}
// Need to check if user is in active directory
if (ActiveDirectory::validateWebmasterAdmin(request('username'), request('password'))) {
return $this->sendLoginResponse($request);
}
// If the login attempt was unsuccessful we will increment the number of attempts
// to login and redirect the user back to the login form. Of course, when this
// user surpasses their maximum number of attempts they will get locked out.
$this->incrementLoginAttempts($request);
return $this->sendFailedLoginResponse($request);
}
Я получаю правильные ответы обратно, но пользователь все еще не проходит аутентификацию, что, я уверен, связано с чем-то, что я делаю неправильно. Я предполагаю, что это как-то связано с $this->sendLoginResponse($request)
,
Если я получу совпадение учетных данных от API, я хотел бы использовать некоторые данные, которые я получаю обратно в приложение. Например, API возвращает имя, и я хотел бы использовать его в представлениях, подобных этому {{ Auth::user()->name }}
Любая помощь будет принята с благодарностью.