AcquireTokenInteractive - MSAL 中的问题

Ali*_*Ali 6 asp.net-mvc azure-ad-msal microsoft-graph-api

我正在使用MsalAcquireTokenInteractive使用 Microsoft Graph SDK

简单的代码

try
{
   string[] scopes = { "user.read", "files.read" };
    IPublicClientApplication app = PublicClientApplicationBuilder.Create(appId).WithRedirectUri(redirectUri).Build();
    AuthenticationResult result = null;
    var accounts = await app.GetAccountsAsync();
    try
    {
        result = await app.AcquireTokenSilent(scopes, accounts.FirstOrDefault()).ExecuteAsync();
    }
    catch (MsalUiRequiredException ex)
    {
        try
        {
            result = await app.AcquireTokenInteractive(scopes).ExecuteAsync();
        }
        catch (MsalException X)
        {
            ViewBag.ST = X.Message;
        }
        catch (Exception X)
        {
            ViewBag.ST = X.Message;
        }
    }               
}
catch (Exception X)
{

    ViewBag.ST = X.Message;
}
Run Code Online (Sandbox Code Playgroud)

我试图获得用户的同意以允许我的应用程序读取数据,但是当代码到达它时,app.AcquireTokenInteractive(scopes).ExecuteAsync();它只会继续无限加载。

肯定在做一些奇怪的事情,知道那是什么吗?

lex*_*xma 1

您需要按如下方式嵌入视图:

  result = await app.AcquireTokenInteractive(scopes)                  
                    .WithUseEmbeddedWebView(true)
                    .ExecuteAsync();
Run Code Online (Sandbox Code Playgroud)