gpt4 book ai didi

c# - AcquireTokenAsync 仅在控制台应用程序中工作

转载 作者:行者123 更新时间:2023-12-03 05:51:03 25 4
gpt4 key购买 nike

我创建了一个获取 Azure token 的控制台应用程序,并且我可以毫无问题地与 Graph API 进行通信。当我在 Windows 或 Web 应用程序中使用相同的逻辑时,AcquireTokenAsync 无法获取 token 。不会捕获任何异常,并且 token 永远不会成功发出。下面是我在控制台应用程序和 Windows 应用程序中使用的代码,但它仅适用于控制台应用程序。我确保所有依赖项都是相同的版本。

        private static async Task<string> GetAccessToken(string password)
{
var authenticationContext = new AuthenticationContext(Authority, false);
var cac = new ClientCredential(ClientId, password);
var authenticationResult = await authenticationContext.AcquireTokenAsync(GraphUrl, cac); //never issues on Windows app
return authenticationResult.AccessToken;
}

有什么想法吗?

最佳答案

好吧,我在评论中指出了正确的路径,我不太明白为什么,但以下代码解决了问题:

Task<AuthenticationResult> authenticationResult = authenticationContext.AcquireTokenAsync(GraphUrl, cac);
authenticationResult.Wait();
return authenticationResult.Result.AccessToken;

关于c# - AcquireTokenAsync 仅在控制台应用程序中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47892570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com