使用ADAL和ADFS的响应无效

时间:2017-05-26 14:46:04

标签: active-directory adfs adal

在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实现中的内容?

1 个答案:

答案 0 :(得分:1)

ADAL使用OAuth而非WS-Fed或SAML。

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

This article描述了您需要做的事情。

https://login.windows.net/common是Azure AD,并且完全支持,因此可以使用。

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