2012-06-25 85 views
4

我想知道是否有人能指引我走向正确的方向。我们目前正在考虑为客户端托管一个Web应用程序,该客户端将通过客户端的ADFS IIS服务器进行身份验证,以便利用SSO等。这样做很好,没有问题。ADFS身份验证委托桌面/移动应用程序

当我们考虑我们现有的桌面和移动应用程序(.NET,iOS,Android等)时,问题就出现了。我们需要针对与我们的Web应用程序相同的用户存储验证这些应用程序。

是否可以使用外部ADFS服务器来验证Windows桌面应用程序(用.NET编写)?如果是这样,请你能指点我一个例子吗?

是否可以根据ADFS验证原生移动应用程序?我想我们需要手动创建HTTP请求等来处理这个问题。有人可以给我任何相关的文档/例子吗?

或者,对于移动应用程序,最好是托管我们自己的内部Web服务,它扮演着“中间人”的角色。再次,任何这样的例子将不胜感激。

感谢 大卫

+0

感谢队友,指出。 – DavidReid

回答

2

这取决于服务的,你是从客户端呼叫类型(移动或桌面)。如果它是一个SOAP Web服务,那么它全部支持(例如使用WS-Trust)。 WCF已经为基于声明的身份验证提供了绑定,因此除了.NET之外,您不需要太多的客户端。

移动客户端倾向于支持轻量级协议(例如OAuth,REST端点等)。这些不受ADFS支持,但您可以添加ACS(Windows Azure Active Directory)并将其作为中介,为您执行协议转换。

对于这两种方案很好的例子是可用这里:http://msdn.microsoft.com/en-us/library/ff423674.aspx

具体来说:

SOAP: http://msdn.microsoft.com/en-us/library/hh446528

REST /设备:http://msdn.microsoft.com/en-us/library/hh446533

+0

其中的链接似乎不工作了 – anIBMer

+0

为我工作... –

1

另一种可能的解决方案是使用“t”的自定义STS将“OAuth”转换为SAML令牌,然后将ADFS与自定义STS联合。在Identity Server中有一个这样的例子。

因此,链将例如成为:桌面和移动 - OAuth - 定制STS - WS联邦 - ADFS

相关问题