4

我有一個Xamarin.Forms iOS/Android應用程序,必須根據Microsoft Azure B2C AD對用戶進行身份驗證。微軟身份驗證庫(MSAL)永遠不會從Android上的AcquireTokenAsync()返回

我已添加Microsoft.Identity.Client NuGet並將其用於身份驗證。

它可以在iOS上正常工作,但在Android上相同的代碼永遠不會從AcquireTokenAsync()返回。

登錄用戶界面顯示爲它應該接受的用戶名和密碼,並且由MSAL庫提供的用戶界面退出,因爲它應該但不會返回await AcquireTokenAsync()

代碼位於應用程序核心項目的PCL中。

我嘗試過Android 4,5和6設備。

我知道MSAL仍然在阿爾法我只是想確認如果由於這個或我可能做錯了什麼。

+1

也許更有希望超過在https://github.com/AzureAD/文件存在問題microsoft-authentication-library-for-dotnet/issues,並嘗試使用源代碼庫來查看它卡住的位置, – Krumelur

回答

9

因此很明顯,我需要這段代碼在我MainActivity.cs和我忽視的是,在他們的例子:

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) 
    { 
     base.OnActivityResult(requestCode, resultCode, data); 
     AuthenticationAgentContinuationHelper.SetAuthenticationAgentContinuationEventArgs(requestCode, resultCode, data); 
    }