пользовательская аутентификация laravel на основе ответного вызова API - PullRequest
0 голосов
/ 01 февраля 2019

В настоящее время я использую 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?(используя жрет, провайдер услуг, Authenticatable Contract и драйвер Auth?)

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

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

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

1 Ответ

0 голосов
/ 06 февраля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...