Как защищенный API ресурс проверяет токен доступа на Identity Server 4? - PullRequest
0 голосов
/ 09 октября 2019

Я использую промежуточное ПО IdentityServer3.AccessTokenValidation для проверки токена доступа для моего API, поскольку он основан на ASP.NET Framework. Это работает, но у меня есть вопросы и проблемы. Прежде всего, отправляет ли API запрос на Identity Server для проверки маркера доступа для каждого запроса? Повлияет ли это на производительность API и сервера идентификации? Это лучшая практика? Существует ли какая-либо стратегия кэширования, которую я могу использовать для сокращения трафика в оба конца для проверки маркеров доступа?

Я просто не могу представить, что для каждого запроса API он должен отправить запрос на сервер идентификации, а затем сервер идентификации должен отправить запрос в свою базу данных для проверки токена.

1 Ответ

0 голосов
/ 09 октября 2019

При проверке токенов доступа, специфичных для проверки подписи. API / сервер ресурсов извлекает (и может кэшировать) документ обнаружения ваших поставщиков удостоверений, расположенный по адресу https://baseaddress/.well-known/openid-configuration. Этот документ содержит материалы, которые позволяют серверу ресурсов проверять токен, читать доступные ключи из jwks_uri.

промежуточного программного обеспечения JwtBearerAuthentication или промежуточного программного обеспечения IdentityServer.AccessTokenValidation. В IdentityServer4.AccessTokenValidation он имеет параметр с именем DiscoveryDocumentRefreshInterval, указывающий, как часто следует обновлять кэшированную копию документа обнаружения. Если не задано, значение по умолчанию берется из основного менеджера конфигурации Microsoft (который сейчас составляет 24 часа).

...