【问题标题】:Invalid response using ADAL and ADFS使用 ADAL 和 ADFS 的无效响应
【发布时间】:2017-05-26 14:46:03
【问题描述】:

在 Xamarin 中构建移动应用程序时,我遇到了通过 ADFS 进行身份验证的问题。我在 VPS 上运行 AD 和 ADFS,我希望移动应用程序通过那里进行身份验证以访问 Web Api。我在应用程序中安装了 Active Directory 身份验证库 (ADAL),当我使用 https://login.windows.net/common 作为授权时,它似乎工作正常。

但是当我尝试使用我自己的域 https://www.example.com/adfs 作为权限时,ADAL 请求总是返回 The authorization server returned an invalid response

我尝试通过浏览器进行手动请求,如下所示:

https://www.example.com/adfs/oauth2/authorize?response_type=code&client_id=xxxxxxx&redirect_uri=xxxxxx&resource=xxxxxxxx

此请求工作正常,因为它向我显示了登录页面,但在成功登录后,它会重定向到重定向 uri,并显示一般错误消息。我不得不去服务器的 ADFS 日志找到以下错误:Unsupported token type

我是否在 ADFS 配置或 ADAL 实施中遗漏了什么?

【问题讨论】:

  • 您使用的是什么版本的 AFS?您是如何在 AFS 端配置 RP 的?
  • 我使用的是 ADFS 3.0,一切都配置为默认值,RP 同时添加了 WS-Federation 和 SAML 端点。

标签: active-directory adfs adal


【解决方案1】:

ADAL 使用 OAuth 而不是 WS-Fed 或 SAML。

ADFS 3.0 对 OAuth 的支持非常有限 - 要获得全面支持,您需要 ADFS 4.0。

This article 描述了您需要做什么。

https://login.windows.net/common 是 Azure AD,拥有完全支持,因此可以正常工作。

请注意,您需要根据文章使用 PowerShell 来配置 RP。

【讨论】:

  • 谢谢,文章中的方法修复了token问题。无效响应错误原来是 https 证书的问题。
猜你喜欢
  • 1970-01-01
  • 2015-01-25
  • 2017-07-01
  • 2020-02-11
  • 2019-08-03
  • 1970-01-01
  • 2020-03-03
  • 1970-01-01
  • 2023-03-30
相关资源
最近更新 更多