7

我有一个 Xamarin.Forms iOS/Android 应用程序,并且必须针对 Microsoft Azure B2C AD 对用户进行身份验证。

我添加了 Microsoft.Identity.Client NuGet 并将其用于身份验证。

它在 iOS 上运行良好,但在 Android 上,相同的代码永远不会从 AcquireTokenAsync() 返回。

登录 UI 按原样显示,用户名和密码被接受,MSAL 库提供的 UI 按原样显示,但调用await AcquireTokenAsync()永远不会返回。

该代码位于应用程序核心项目的 PCL 中。

我已经在 Android 4、5 和 6 设备上尝试过。

我知道 MSAL 仍处于 alpha 阶段,我只是想确认一下是否是由于这个原因,或者我可能做错了什么。

4

1 回答 1

11

所以显然我在我的 MainActivity.cs 中需要这段代码,我在他们的例子中忽略了这一点:

    protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
    {
        base.OnActivityResult(requestCode, resultCode, data);
        AuthenticationAgentContinuationHelper.SetAuthenticationAgentContinuationEventArgs(requestCode, resultCode, data);
    }
于 2016-06-15T07:45:15.510 回答