Я использую приведенный ниже фрагмент кода для создания токена доступа, чтобы подключить код моего приложения к 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;