Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Пытаюсь разобраться с 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, то верни его. Если нет, то там же создай новый. Или как?
Помогите, пожалуйста. Как всё это правильно должно работать???
Не в сети
Страницы 1