安全的WebApi2 c#,远程内部部署ADFS 3.00和Javascript客户端

时间:2017-06-09 15:37:04

标签: javascript c# client asp.net-web-api2 adfs3.0

我们有一个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。

根据当前的设置,我们将非常感谢任何帮助或解决方案。

1 个答案:

答案 0 :(得分:0)

ADFS 3.0在其OAuth支持方面受到一定限制 - 主要是授权代码授予与机密客户端。

好例子here

请注意,您的ADFS提供程序必须对其进行配置。特别是RP配置是通过PowerShell完成的。

"附加ADFSClient"