Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 23.03.2018 13:58:45

Laravel Passport oAuth

Пытаюсь разобраться с oauth. Что сделано:
- установлен Passport и auth
- запущены миграции и т.п. В итоге всё завелось, но не ясна логика работы. Где не смотрел - слишком много слов и абстракции.

Как я должен теперь работать?
1) Создать контроллер, где проверять логин и пароль пользователя и возвращать данные из таблицы oauth_clients

public function login(Request $request)
{
    if (Auth::once(['email' => $request->input('email'), 'password' => $request->input('password')])) {

        return Auth::user()->oauth;
    }

    return response('Not auth', 401);
}

2) В ответ получаю в том числе и secret приложения, завязанного на конкретного пользователя в таблице users
3) Дальше я шлю второй запрос по адресу http://db7/oauth/token с целью получить access_token и refresh_token. Отправляю вновь логин, пароль, но дополнительно ещё и client_id, client_secret и др (т.е. часть данных, полученных при первом запросе)
4) С каждым запросом далее отправляю access_token.

Всё вроде бы работает. Но при каждом запросе http://db7/oauth/token токен генерируется каждый раз новый. Т.е. сколько раз залогинились, столько раз и создаётся токен. Это правильно? Или же нужно первым запросом проверять - если логин и пароль верный и есть действующий access_token, то верни его. Если нет, то там же создай новый. Или как?

Помогите, пожалуйста. Как всё это правильно должно работать???

Не в сети

Подвал раздела