Я использую приложение службы демона C# для чтения событий календаря определенных пользователей с портала Azure.
Теперь приведенный ниже код отлично работает на моем компьютере.
private async Task<string> **AcquireToken**()
{
AuthenticationResult Tokenresult = null;
app = CreateConfidentialClientApplicationBuilder();
string[] scopes = new string[] { $"{ApiUrl}.default" };
try
{
Tokenresult = await app.AcquireTokenForClient(scopes)
.ExecuteAsync();
return Tokenresult?.AccessToken;
}
catch (MsalUiRequiredException ex)
{
utils.logger.logEvents("The application doesn't have sufficient permissions "
+ " Did you declare enough app permissions during app creation?"
+ "- Did the tenant admin grant permissions to the application?");
utils.logger.logEvents(ex.Message);
}
catch (MsalServiceException ex) when (ex.Message.Contains("AADSTS70011"))
{
utils.logger.logEvents("Scope provided is not supported. Invalid scope. The scope has to be of the form https://resourceurl/.default"
+ "Mitigation: change the scope to be as expected");
}
catch(Exception ex)
{
utils.logger.logEvents("error in AcquireToken " + ex.Message);
}
return string.Empty;
}
Но тот же код не работает (выдает ошибку тайм-аута) на другом ПК, настроенном с настройками прокси-сервера.
Здесь я не знаю, как настроить приведенный выше код для использования прокси-сервера для доступа к лазурному порталу. (Я гуглил много часов, но НЕ повезло)
поэтому, пожалуйста, сообщите, как настроить метод AcquireTokenForClient() для использования настроек прокси.
Огромное спасибо
ApiUrl
этоhttps://graph.microsoft.com/
? - person Allen Wu   schedule 04.03.2021aud
. - person Allen Wu   schedule 04.03.202100000003-0000-0000-c000-000000000000
, а не00000002-0000-0000-c000-000000000000
. Вы уверены, чтоApiUrl
этоhttps://graph.microsoft.com/
? - person Allen Wu   schedule 04.03.2021