Какое время истекает для маркера доступа в Azure Managed Identity? - PullRequest
0 голосов
/ 04 января 2019

Я использую приведенный ниже фрагмент кода для создания токена доступа, чтобы подключить код моего приложения к Azure SQL с использованием аутентификации AAD. Мне нужно было узнать время истечения этого токена

Чтобы найти срок действия, я попробовал два способа:

1) Создайте одно консольное приложение, которое подключается к Azure SQL, и выполните некоторые операции с данными, используя аутентификацию AAD. Запустите это приложение непрерывно в цикле более часа. Здесь токен истекает через 1 час

2) Создайте веб-приложение и разместите его в iisexpress. В веб-приложении напишите тот же код доступа к данным, что и в консольном приложении. Несколько раз вызывайте URL-адрес веб-приложения более часа. Здесь также токен истекал примерно через час

3) То же, что и пункт 2, за исключением того факта, что веб-приложение размещено в Azure с включенными управляемыми удостоверениями. Здесь токен не истекает через 1 час.

Таким образом, срок действия токена связан со средой, из которой сделан вызов. Мне нужно узнать точное время истечения токена для разных сценариев. Я не мог найти какую-либо документацию. Все, что я нахожу, это то, что токен будет кэшироваться в памяти и обновляться по истечении срока действия.

var provider = new AzureServiceTokenProvider();
string token = provider.GetAccessTokenAsync("https://database.windows.net/").Result;

SqlConnection con = new SqlConnection("connstring");
con.AccessToken = token;

1 Ответ

0 голосов
/ 04 января 2019

По умолчанию токены доступа истекают через 1 час.

Жетоны, полученные через библиотеку аутентификации приложения, обновляются, если до истечения срока их действия остается менее 5 минут. Таким образом, он по умолчанию кэширует токен в течение 55 минут.

Здесь вы можете увидеть, где библиотека определяет время истечения: https://github.com/Azure/azure-sdk-for-net/blob/e3bc748ea19040f9f18375aa907246f5b8b882a7/src/SdkCommon/AppAuthentication/Azure.Services.AppAuthentication/AppAuthenticationResult.cs#L40-L44

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