Невозможно использовать режим брокера с полномочиями adfsAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Невозможно использовать режим брокера с полномочиями adfs

Сообщение Anonymous »

Я хочу добиться единого входа между приложениями, чтобы мое приложение Outlook для Android автоматически входило в систему с моей учетной записью adfs.
Я использую Exchange 2019, ADFS 2019 и Windows Server 2022.< /p>
Вот ошибка вывода отладки в версии 2022
ОШИБКА => MSAL.Xamarin.Android.4.66.2.0.MsalServiceException:
ErrorCode:known_error
Microsoft.Identity.Client.MsalServiceException: ответ брокера возвратил ошибку: com.microsoft.identity.common.java.authorities.ActiveDirectoryFederationServicesAuthority не может быть отброшенным к com.microsoft.identity.common.java.authorities.AzureActiveDirectoryAuthority
at Microsoft.Identity.Client.Internal.Broker.BrokerInteractiveRequestComponent.ValidateResponseFromBroker(MsalTokenResponse msalTokenResponse)
at Microsoft.Identity.Client.Internal.Broker.BrokerInteractiveRequestComponent.FetchTokensAsync(CancellationToken cancelToken)
at Microsoft.Identity.Client.Internal.Requests.InteractiveRequest.FetchTokensFromBrokerAsync(StringbrokerInstallUrl, CancellationToken cancelToken)
at Microsoft.Identity.Client.Internal.Requests.InteractiveRequest.GetTokenResponseAsync(CancellationToken cancelToken)
в Microsoft.Identity.Client.Internal.Requests.InteractiveRequest.ExecuteAsync(CancellationToken cancelToken)
at Microsoft.Identity.Client.Internal.Requests.RequestBase.c__DisplayClass11_1.d.MoveNext()
Конец трассировки стека из предыдущего местоположения ---
в Microsoft.Identity.Client.Utils .StopwatchService.MeasureCodeBlockAsync(Func`1 codeBlock)
at Microsoft.Identity.Client.Internal.Requests.RequestBase.RunAsync(CancellationToken cancelToken)
в Microsoft.Identity.Client.ApiConfig.Executors.PublicClientExecutor.ExecuteAsync(AcquireTokenCommonParameters commonParameters, AcquireTokenInteractiveParameters activeParameters, CancellationToken cancelToken)
at RecipesApp.MainPage.OnLoginClicked(Object sender, EventArgs e) в C:\MyApp\MainPage.xaml.cs:line 28
StatusCode: 0
ResponseBody:

Заголовки:
Вот мой код

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

try
{
var publicClientApplicationBuilder = PublicClientApplicationBuilder
.Create("my_client_id_generated_from_adfs")
#if ANDROID || IOS
.WithBroker()
#endif
.WithAdfsAuthority("https://adfs.mydomain.com/adfs)
.WithRedirectUri($"msauth://com.test.app/my_encoded_base_64")
.Build();

var authResult = await publicClientApplicationBuilder.AcquireTokenInteractive({"email"})
.WithParentActivityOrWindow(EntraConfig.ParentWindow)
.ExecuteAsync().ConfigureAwait(false);

Debug.WriteLine($"SUCCESS => {authResult.AccessToken}");
Debug.WriteLine($"SUCCESS => {authResult}");

}
catch (Exception ex)
{
Debug.WriteLine($"====\nERROR => {ex}\n====");
}
Уже пробовал без .WithBroker(), но в приложении Microsoft Authenticator и Outlook нет учетной записи. Возможен ли сценарий единого входа между приложениями с локальной учетной записью adfs?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -authority
Ответить

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

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

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

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

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