Используя VS2019, я указал временную «учетную запись разработчика», используя Инструменты / Параметры / Аутентификация службы Azure / Выбор учетной записи, чтобы мое приложение «проверяло подлинность и получало доступ к ресурсам Azure при отладке из Visual Studio». Учетная запись разработчика имеет доступ к базе данных SQL Azure. Когда я отлаживаю, мое приложение получает токен следующим образом:
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder["Data Source"] = serverName;
builder["Initial Catalog"] = dbName;
builder["Persist Security Info"] = "False";
builder["MultipleActiveResultSets"] = "False";
builder["Encrypt"] = "True";
builder["TrustServerCertificate"] = "False";
builder["Connect Timeout"] = 15;
var cancellationToken = new CancellationToken();
var conn = new SqlConnection(builder.ConnectionString);
conn.AccessToken = new AzureServiceTokenProvider().GetAccessTokenAsync("https://database.windows.net/").GetAwaiter().GetResult();
return conn.AccessToken;
Однако, когда я проверяю возвращенный токен, это НЕ токен для идентификатора учетной записи разработчика, который я указал, а для моего обычного идентификатора, который я использую для запуска Visual Studio. Сотрудник смог сделать это в VS2019 с помощью учетной записи разработчика, которая входит в те же группы Azure AD, что и моя учетная запись разработчика. Но по какой-то местной причине это не работает для меня. Обратите внимание, что в SQL Server Management Studio я могу без проблем обращаться к базе данных SQL Azure, используя мою учетную запись разработчика.
Кто-нибудь еще имел эту проблему отладочной идентификации и был в состоянии решить ее? Заранее благодарим за любой свет, который вы можете пролить на это.