【问题标题】:ADFS Authentication Delegation Desktop / Mobile ApplicationsADFS 身份验证委派桌面/移动应用程序
【发布时间】:2012-06-26 21:25:33
【问题描述】:

我想知道是否有人能指出我正确的方向。我们目前正在考虑为客户端托管一个 Web 应用程序,该应用程序将对客户端的 ADFS IIS 服务器进行身份验证,以便利用 SSO 等。这一切都很好,没有问题。

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

是否可以针对外部 ADFS 服务器对 Windows 桌面应用程序(用 .NET 编写)进行身份验证?如果是这样,请您举个例子吗?

是否可以针对 ADFS 对本机移动应用程序进行身份验证?我想我们需要手动创建 HTTP 请求等来处理这个问题。有人可以指出任何相关的文档/示例吗?

或者,对于移动应用程序,托管我们自己的充当“中间人”的内部网络服务会更好吗?同样,我们将不胜感激任何这样的例子。

谢谢 大卫

【问题讨论】:

    标签: .net authentication oauth-2.0 adfs2.0 adfs


    【解决方案1】:

    这取决于您从客户端(移动或桌面)调用的服务类型。如果它是一个 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

    【讨论】:

      【解决方案2】:

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

      所以链条会例如是:桌面和移动 - OAuth - 自定义 STS - WS Fed - ADFS

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-06
        • 2014-07-10
        • 2012-06-13
        相关资源
        最近更新 更多