В настоящее время я использую Laravel 5.7 и пытаюсь создать механизм входа в систему.Случай, аналогичный Пользовательская аутентификация пользователя, основанная на ответе API-вызова .
В моем случае у меня нет собственной базы данных и таблицы пользователей локально.Все, что нужно, это вызвать API для проверки, передав имя пользователя, пароль, идентификатор клиента, секрет клиента.
Мой запрос к API в почтальоне:
POST Body
{
"username": "tester",
"password": "ps",
"CLIENT_ID": "xx",
"CLIENT_SECRET": "yy"
}
Ответ API для события успеха впочтальон.Информация о пользователе находится в этом токене JWT путем его декодирования.
{
"token_type": "Bearer",
"id_token": "eyJraWQiOiNGUvdFZC...",
"access_token": "eyJraWQiOi....",
"expire_in": 3600,
"refresh_token": "eyJjdHkiOiJK..."
}
Я хочу сделать что-то вроде в loginContoller и использовать Auth :: **:
public function postSignIn(Request $request)
{
$username = strtolower($request->username);
$password = $request->password;
if (Auth::attempt(['username' => $username, 'password' => $password])) {
return Redirect::to('/dashboard')->with('success', 'Hi '. $username .'! You have been successfully logged in.');
} else {
return Redirect::to('/')->with('error', 'Username/Password Wrong')->withInput(Request::except('password'))->with('username', $username);
}
}
Вопрос:
Как я могу реализовать аутентификацию API в laravel?(используя жрет, провайдер услуг, Authenticatable Contract и драйвер Auth?)
Как сохранить токен доступа в сеансе / файле cookie для вложения в каждый запрос, отправляемый API каждый раз после этого?
Как сохранить токен обновления и использовать его для получения токена доступа после того, как он недействителен?
Я ценю все подсказки или любой пример /руководство.