У меня есть ASP.NET Core 3.1
веб-сервер, который, помимо прочего, выступает в качестве посредника между внешним Angular приложением и внешней API
службой. Предполагается, что он запрашивает данные у службы API, которые затем доставляет во внешний интерфейс. Для отправки запросов к этому API необходим токен доступа OAuth 2
. Чтобы быть понятным, это сервер, который аутентифицирует себя для доступа к данным, доступным по лицензии publi c, а не указывает c для отдельных пользователей на моем сервере.
В настоящее время я планирую использовать его два типизированных HttpClient
класса (на основе этой статьи ) и один контроллер для предоставления конечных точек. Один тип HttpClient будет иметь метод для аутентификации сервера и получения маркера доступа для возврата, используя секрет клиента, который знает сервер. Другой клиент будет предоставлять методы для извлечения определенных данных c из внешнего API с использованием токена доступа, полученного первым клиентом. Наконец, контроллер будет использовать второй HttpClient
, чтобы получить данные для возврата на свои конечные точки.
Что ускользает от меня, так это то, как управлять токеном доступа, предоставленным первым HttpClient
. Я полагаю, что было бы лучше получить его только тогда, когда это необходимо, а затем сохранить его, пока он не закончится, и затем запросить новый. Как мне это сделать, или какая-то альтернатива?