AcquireTokenInteractive 在 webview 中完成登录但永远不会返回

问题描述 投票:0回答:0

我一直在用头撞墙试图找出为什么在等待调用 AcquireTokenInteractive 的结果后的下一条语句没有执行。我把它包裹在一个 try/catch 中,没有例外。用于身份验证的 webview 被彻底关闭,它确实返回到我的登录页面。但是,正如我所说,之后似乎没有代码执行。这是我正在编写的 .NET Maui 应用程序,平台是 Android。

这里是没有 try/catch 的代码片段:

    async Task Login()
    {
        var publicClientApplication = PublicClientApplicationBuilder
        .Create(AppConst.ClientID)
        .WithRedirectUri($"msal{AppConst.RedirectGUID}://auth")
        .WithAuthority(AzureCloudInstance.AzurePublic, AppConst.TenantID)
        .WithParentActivityOrWindow(() => Platform.CurrentActivity)
        .Build();
        var result = await publicClientApplication.AcquireTokenInteractive(AppConst.LoginScopes).ExecuteAsync();
        Console.WriteLine(result.AccessToken+", acct: "+result.Account); //NEVER gets here
     }

我什至创建了一个每秒触发一次的计时器来检查进度。我试图将结果存储在一个全局变量中并让计时器线程读取它。计时器继续执行,但变量保持为空。如果有人能对此有所了解,我将不胜感激。非常感谢!

c# azure-active-directory microsoft-graph-api maui msal
© www.soinside.com 2019 - 2024. All rights reserved.