我们有一个c#webapi2 api,我们的javascript网络应用与之通信。它们都来自同一域下的同一服务器。
Web Api2项目未设置任何身份验证,因为讨论了整个api和客户端可能需要连接并使用远程本地ADFS服务器进行身份验证。
已经给出了JavaScript客户端和webApi现在必须使用远程“内部部署”ADFS服务器进行身份验证(此ADFS服务器是一个单独的组织,而不是“我们的前提”)。 他们使用的是在Windows Server 2012 r2上设置的ADFS 3.00
到目前为止,我们有以下信息
ADFS服务器网址。 从此,我们可以访问
-ADFS fedration metadata xml - 他们的ADFS登录页面我们必须使用,并以某种方式重定向回某个地方(javascript客户端或web api?)
我确信我们可以从这个ADFS服务器URL访问更多项目 - 比如authcode,token..etc来自他们的服务器,但不确定相关与否。
我首先想知道用户通过他们的ADFS登录页面进行身份验证后会发生什么。如果登录页面中有一个返回URL,它会使用令牌命中我们的c#api吗?
如果是这样,我们如何在api调用中使用此标记并从中读取用户信息。我们正在寻找的唯一索赔是电子邮件地址。
api是c#中的webapi2。
根据当前的设置,我们将非常感谢任何帮助或解决方案。
答案 0 :(得分:0)
ADFS 3.0在其OAuth支持方面受到一定限制 - 主要是授权代码授予与机密客户端。
好例子here。
请注意,您的ADFS提供程序必须对其进行配置。特别是RP配置是通过PowerShell完成的。
"附加ADFSClient"