У меня есть простой сервер Express, который должен выполнять аутентифицированные запросы к внешнему API-серверу, используя OAuth2. Я использую client-oauth2 для реализации потока учетных данных клиента. Мой вопрос о том, как наилучшим образом интегрировать этот поток в маршрутизатор, которому он нужен. Мой первоначальный подход заключается в создании функции промежуточного программного обеспечения, которая будет проверять, существует ли действительный токен, и, если это так, подпишет запрос, если нет, попытается извлечь токен и сохранить его, а затем подписать запрос. Имеет ли это смысл? Где мне хранить токен?
Сервер предоставляет статическое веб-приложение, написанное на React, для доступа конечных пользователей. Это приложение выполняет локальные запросы к серверу, который может инициировать или не запускать запросы к внешнему серверу API. Я использую сеансы на сервере, поэтому я могу хранить там токен, гарантируя, что у каждого отдельного пользователя сайта есть действительные учетные данные (также существует отдельный поток аутентификации на основе единого входа на основе SAML вокруг всего приложения, но это не влияет поток OAuth.) Принято ли иметь уникальный токен OAuth для каждого пользователя сайта, даже при использовании учетных данных клиента и выполнении запросов только с сервера?