AzureServiceTokenProvider.GetAccessTokenAsync кеширует токены между экземплярами (провайдера)? - PullRequest
0 голосов
/ 25 сентября 2019

Документация гласит:

"Класс AzureServiceTokenProvider кэширует токен в памяти и извлекает его из Azure AD незадолго до истечения срока действия. Поэтому вам больше не нужно проверять срок действия до вызова метода GetAccessTokenAsync. Просто вызовитеметод, когда вы хотите использовать токен. "

Это правда, даже если я каждый раз использую новый экземпляр AzureServiceTokenProvider или мне нужно использовать один и тот же экземпляр?

var tokenProvider= новый AzureServiceTokenProvider ();_accessToken = await tokenProvider.GetAccessTokenAsync (_msiOptions.AppId);

1 Ответ

0 голосов
/ 25 сентября 2019

Да.Кэш является статическим, поэтому он используется несколькими экземплярами.

Поставщик токенов использует этот класс в качестве кэша: https://github.com/Azure/azure-sdk-for-net/blob/ddda7cb74b979f03bb03e240c06c924914ee8bdd/src/SdkCommon/AppAuthentication/Azure.Services.AppAuthentication/Cache/AccessTokenCache.cs.

Как видите, он имеет статический ConcurrentDictionary.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...