Код: Выделить всё
// using Microsoft.Identity.Client 4.61.1
var pca = PublicClientApplicationBuilder
.CreateWithApplicationOptions(pcaOptions) // userId, tenantid
.WithDefaultRedirectUri()
.Build();
...
var result = await pca.AcquireTokenInteractive(ewsScopes).ExecuteAsync();
Мы сделали это, следуя этому объяснению:
p>
Аутентификация и EWS в Exchange.
Все работает нормально, получаем токен и все. Однако браузер, который использовался для аутентификации, всегда выполняет перенаправление на какой-либо http://localhost:SOMEPORT, что приводит к сбою и, таким образом, отображает сообщение об ошибке.
Что это такое? что мы здесь делаем неправильно? Мы не указали никаких URI перенаправления на портале, и если мы опустим WithDefaultRedirectUri(), мы получим ошибку
Microsoft.Identity.Client. MsalClientException: «Поддерживается только URI перенаправления обратной связи, но был найден urn:ietf:wg:oauth:2.0:oob. Настройте http://localhost или http://localhost:port как во время регистрации приложения, так и при создании объекта PublicClientApplication. Подробнее см. https://aka.ms/msal-net-os-browser"
Или аналогичный, в зависимости от того, находится ли он в приложении WPF или модульный тест.
Поскольку нас волнует только токен (который работает), неудачное перенаправление браузера просто запутает пользователя. Как от этого избавиться?
Подробнее здесь: https://stackoverflow.com/questions/785 ... -localhost