【问题标题】:Is WIF a good option for securing WCF 4.0 Restful service with iPhoneWIF 是使用 iPhone 保护 WCF 4.0 Restful 服务的好选择吗
【发布时间】:2023-03-26 20:34:01
【问题描述】:

我有一个项目需要向 iphone/ipad 客户端公开 WCF RESTful 服务。 WCF 工作正常,现在我需要使用用户名和密码保护它。

出于某种原因,我有点不愿意选择CustomBasicAuth

Oauth 目前在 WCF 世界中也不理想,您必须创建包装器来解决它。 如果我错了,请纠正我。

现在,我正在研究 Windows 标识基金会。 老实说,这看起来很聪明,但缺乏文档。

有两点需要考虑:

  1. 实现必须是 iPhone 友好的。(不仅在.net中使用 世界)

  2. 实现需要简单 部署到云端(天蓝色)

我想知道你会选择哪个选项,选择它的原因是什么。 任何链接或参考将不胜感激。

【问题讨论】:

    标签: iphone wcf restful-authentication wif sts-securitytokenservice


    【解决方案1】:

    您可能想尝试这种 WCF REST 的基本身份验证实现,http://weblogs.asp.net/cibrax/archive/2009/03/20/custom-basic-authentication-for-restful-services.aspx

    根据您的要求,基本身份验证应该足以满足您的需要。 WIF 只会在混音中添加一些噪音。

    谢谢 巴勃罗。

    【讨论】:

    • 不错的博文,顺便说一句。但是... AFAIK,webHttpBinding,这是 WCF REST 所必需的,不支持 HTTPS 主机。基本身份验证需要 HTTPS 才能确保安全。如何解决这个问题?
    【解决方案2】:

    Windows Indentity Foundation - WIF,使用 SAML 2.0 声明。

    因此它非常适合跨平台和云。

    这是 WIF 文档的链接:http://msdn.microsoft.com/en-us/security/aa570351

    请注意,WIF 也用于 Windows Azure 访问控制服务。

    【讨论】:

    • wit 不能与开箱即用的 saml2 一起使用,它从今年 5 月开始扩展,可以解决这个问题,但它有问题。您是否遇到过在 iPhone 上使用机智功能的任何现场示例或用例?
    【解决方案3】:

    我在 Azure 的自定义 STS 中为我​​们的一个站点使用 WIF。我认为我唯一关心的是代理(在这种情况下为 iPhone/iPad)是否可以处理 WIF 生成的 cookie 的大小,因为它们可能非常大。由于 cookie 大小限制,我们收到了大量与声明在某些浏览器中不起作用相关的例外情况。当然,我不知道您使用的平台是否存在这些限制。

    【讨论】:

      【解决方案4】:

      查看这篇不错的代码项目文章,

      http://www.codeproject.com/Articles/149738/Basic-Authentication-on-a-WCF-REST-Service

      我也在调查这个问题,所以我不确定这是完整的方法,但仍然值得一读。

      我会在您的问题中添加以下架构问题:

      如果您想在同一系统中同时支持主动 (WCF) 和被动(Web 浏览器身份验证)怎么办? 我仍然不确定。

      【讨论】:

        猜你喜欢
        • 2015-01-08
        • 2011-11-27
        • 2011-09-29
        • 2012-12-05
        • 2020-03-05
        • 2011-06-11
        • 2011-08-04
        • 2011-04-10
        • 2011-09-03
        相关资源
        最近更新 更多