Пользовательская аутентификация laravel на основе ответного вызова API

В настоящее время я использую 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);
    }
}

Вопрос:

  1. Как я могу реализовать аутентификацию API в laravel? (используя жретку, поставщика услуг, аутентифицируемый договор и драйвер аутентификации?)

  2. Как сохранить токен доступа в сеансе / файле cookie, чтобы прикрепить его к каждому запросу, отправленному API каждый раз после этого?

  3. Как сохранить токен обновления и использовать его для получения токена доступа после того, как он недействителен?

Я ценю все помощь или любой пример / руководство.

1 ответ

Вам не нужно делать это самим, есть множество плагинов, которые могут помочь вам, как, например, паспорт лавы, настолько простой в использовании, что вам нужно посмотреть

Другие вопросы по тегам