【问题标题】:Best Security Framework to secure and authenticate an iPhone app which uses REST?保护和验证使用 REST 的 iPhone 应用程序的最佳安全框架?
【发布时间】:2010-11-13 14:31:43
【问题描述】:

我构建了一个 iPhone 应用程序,它通过 JSON 对象通过 REST Web 服务(Jersey)将数据传输到 Java 中间层后端......

问题:

(1) 保护此 iPhone 应用程序的登录/身份验证的最佳方法是什么?

(2) 是否有用于获取此类功能的开源或商业框架?

到目前为止,我遇到过 OAuth、SAML 和 REST 身份服务

(3) 这个框架是否需要 SSL?

(4) 它是否验证客户端(不仅仅是用户)?

(5) 我是不是走错了路?意思是我应该只使用每个 REST 调用都需要的加密令牌并安装 SSL?

如果有人理解我的困境并能提供帮助,我将不胜感激……我知道这可以在 iPhone 应用程序上以某种方式完成,因为美国银行和亚马逊具有相同类型的登录功能和安全性。

编码愉快,

迈克

【问题讨论】:

  • 当您说登录/身份验证时,您是指您的应用程序唯一的“Web 服务密钥”还是指每个用户的用户名/密码?
  • 我的意思是...保护每一个 REST API 调用和登录/身份验证的能力。

标签: java iphone rest ssl oauth


【解决方案1】:

6 月初,我在 JavaOne 上做了一个演示,在服务器上使用 Jersey、OAuth(通过OpenSSO)和一个 JavaFX 客户端。该代码有些实验性,但它可能对您有用 - 请参阅 this blog entry - 特别是评论 #2。 There's also a video that explains it at a high level。我使用了 XML,但是,由于 OAuth 在 HTTP 级别上工作,它同样适用于 JSON。

顺便说一句 - there's an Objective C OAuth Consumer implementation - 我没用过,但是Pownce did

【讨论】:

  • 太棒了!太感谢了!我会检查你的博客条目!我不明白的一件事是您提到了 OpenSSO。这和 OAuth 不一样吗?
  • 优秀!这可能与Eclipse有关吗?我注意到您的博客条目指向一个配置说明(README 文件),并且它全部基于使用 Netbeans...再次感谢您!
  • OpenSSO 是一个开源项目 - 它涵盖访问管理、联合和安全 Web 服务。 OAuth 是它实现的协议之一——尽管现在是原型形式就 Eclipse 而言——我不知道——那里可能有 Jersey 支持,但我不确定。对不起。
【解决方案2】:

许多 SSO 方案都依赖 url 重定向,这在 iPhone 应用程序中可能会出现问题。 Pownce 的人尝试在他们的应用程序中使用 OAuth,显然这种体验让用户感到困惑。经过一些研究,我选择了an approach based on secure WSSE username tokens,这与 Atom 应用程序中使用的方法相同。享受。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-25
    • 2014-10-20
    • 2011-05-08
    • 2016-07-30
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    相关资源
    最近更新 更多