Я создаю веб-приложение. В этом приложении используется внешний веб-сервис через REST API.
Я младший разработчик.
Внешний API descr :
- Авторизация по протоколу OAuth2
- ОТДЫХ
- API, используемый для управления ресурсами пользователей
- один client_id, один client_secret используются для получения токенов для всех пользователей
- Иерархическая структура (user1 (user1.1, user1.2 (user1.2.1, user1.2.2))))
- для каждого пользователя вы можете создать 4 токена, если есть еще, вы можете удалить все,
срок действия каждого токена истек через 24 часа
правильно получить токен, новый токен обновляется с помощью refresh_token
Как я это сделал в своем проекте?
- использование таблицы в базе данных для хранения всех токенов (текущий токен, обновление
маркер)
- для каждого пользователя я добавляю и обновляю строку в таблице
- перед каждым запросом к внешнему сервису через API я проверяю, не истек ли токен, отправляя запрос, если это так, я обновляю его.
Задача :
весь код в контроллере
Вопрос :
как организовать код?
Лучшая практика для этого?
Как в реальном проекте это работает?
нужен свежий взгляд со стороны