Как исправить исключение HttpListenerException во время AcquireTokenInteractive с аутентификацией MSAL и SAML?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как исправить исключение HttpListenerException во время AcquireTokenInteractive с аутентификацией MSAL и SAML?

Сообщение Anonymous »

Я работаю над интеграцией аутентификации SAML с API Microsoft Graph, чтобы получить токен доступа OAuth2. Моя цель — завершить процесс аутентификации без появления каких-либо дополнительных окон браузера для пользователя.
Я настроил WithPrompt(Prompt.NoPrompt), чтобы подавить окно выбора учетной записи и аутентификацию. кажется, преуспевает. Однако после аутентификации браузер отображает сообщение: "Аутентификация завершена. Вы можете вернуться в приложение".
Чтобы предотвратить это, я установил URI перенаправления. на конкретную страницу, содержащую только логику window.close(). Однако в процессе получения токена я сталкиваюсь со следующими исключениями:
Исключение 1:

Код: Выделить всё

MsalClientException: An HttpListenerException occurred while listening on http://localhost:5267/ for the system browser to complete the login. Possible cause and mitigation: the app is unable to listen on the specified URL; run 'netsh http add iplisten 127.0.0.1' from the Admin command prompt.
Исключение 2:

Код: Выделить всё

HttpListenerException: The process cannot access the file because it is being used by another process.
В моем коде я сначала пытаюсь использовать AcquireTokenSilent для получения токена. Однако это всегда терпит неудачу, и процесс возвращается к AcquireTokenInteractive. Вышеупомянутые исключения возникают во время этого резервного варианта.
Вот мой текущий код:

Код: Выделить всё

string[] scopes = new string[] { "user.read" };
var tempUri = "https://login.microsoftonline.com/" + tenantId;

var app = PublicClientApplicationBuilder.Create(appId)
.WithAuthority(new Uri(tempUri))
.WithRedirectUri("http://localhost:5267/ezSearch/Main/Test")
.Build();

AuthenticationResult result;
string token = string.Empty;

try
{
var accounts = app.GetAccountsAsync().Result;
result = app.AcquireTokenSilent(scopes, accounts.FirstOrDefault())
.ExecuteAsync().Result;
}
catch (AggregateException ex)
{
if (ex.InnerException is MsalUiRequiredException)
{
result = app.AcquireTokenInteractive(scopes)
.WithPrompt(Microsoft.Identity.Client.Prompt.NoPrompt)
.ExecuteAsync().Result; // Exceptions occur here
}
else
{
throw;
}
}

token = result.AccessToken;
Вопросы:
Как устранить исключение HttpListenerException при использовании AcquireTokenInteractive?
Я попробовал «netsh» http добавьте iplisten 127.0.0.1" и добавьте URL-адрес перенаправления на страницу аутентификации приложения Azure
Будем очень признательны за любые идеи и предложения. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... sal-and-sa
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как исправить httplistenerexception во время аутентификации MSAL и SAML?
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • MSAL AcquireTokenInteractive перенаправляет браузер на недоступный локальный хост
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Msal.net PublicClientApplicationBuilder AcquireTokenInteractive, как открыть в той же вкладке браузера?
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Msal.net PublicClientApplicationBuilder AcquireTokenInteractive, как открыть в той же вкладке браузера?
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Spring Security SAML: принимать только подписанные ответные сообщения SAML от IDP
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»