【问题标题】:Azure ADAL (version 2.14) AcquireToken errorAzure ADAL(2.14 版)AcquireToken 错误
【发布时间】:2015-05-02 03:34:00
【问题描述】:

我可以在本地工作时使用该行验证用户身份

AuthenticationResult result = context.AcquireToken(resource,clientID, returnURI, PromptBehavior.Always);

在本地,我得到了登录屏幕和用户信息。

当我将 Web 应用程序发布到 Azure 时,上面的代码失败并出现此错误

"Error HRESULT E_FAIL has been returned from a call to a COM component"

[COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.]

Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.RunAsyncTask(Task`1 task) +89

这是什么原因造成的?我正在发布到共享站点(例如 xxx.azurewebsites.net)——所以我无权访问服务器进行任何更改——除了使用门户网站。

代码在本地按预期工作。

javascript 版本 (ADAL.js) 也使用相同的租户、clientID 和 returnURI

【问题讨论】:

    标签: azure com hresult adal


    【解决方案1】:

    您正在执行的令牌获取流程旨在在桌面应用程序上运行,而不是在 Web 应用程序上运行。桌面上出现的对话框由本地进程和本地 Windows 会话的存在驱动。它不能在一个 Web 应用程序中工作,因为没有 Windows 会话并且该进程正在服务器机器上的其他地方运行。 请参阅我们的示例以了解如何从 Web 应用程序获取令牌,任何来自 https://github.com/AzureADsamples 的带有“openid”或“oauth”的东西都可以。

    【讨论】:

    • 这个例子很多,有什么简单的例子可以通过代码吗?
    • 你能提供一个关于这个错误的具体例子吗?我也面临同样的问题。
    猜你喜欢
    • 1970-01-01
    • 2018-12-22
    • 2018-06-17
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2018-08-30
    • 2016-12-31
    • 2015-02-01
    相关资源
    最近更新 更多