3

我有一个对 Rails 应用程序进行身份验证的 iOS 应用程序。第一次进行身份验证时,它需要提交用户名和密码,作为回报,rails 应用程序返回一个令牌,iOS 应用程序可以使用该令牌在进一步的通信中进行身份验证。

他们之间传递的信息包括用户的电子邮件地址和其他琐碎信息,但没有像财务细节等高度敏感的信息。我需要一种方法来保护这些通信。

我可以添加此保护的最简单方法是什么?

4

3 回答 3

2

HTTPS 是一种直接的方式来保护通过网络传输的通信。可以使用 oAuth 来重用和令牌以进行后续通信。您可能希望采用 Facebook 在其 iOS SDK 中采用的方法。他们将登录页面放在 UIWebView (HTTPS) 中,并返回 oAuth 令牌以供后续调用。

编辑:由于 SSL 似乎“不在桌面上” - 为什么不使用基本身份验证进行身份验证,并让每个调用重新进行身份验证而不是使用令牌。

于 2012-04-04T14:56:40.943 回答
1

为您的网络服务器获取可信且有效的证书并使用 SSL / HTTPS。这就是大多数人所做的。

我不建议实施您自己的加密方法。

于 2012-04-04T14:51:04.957 回答
0

您在本地使用 SSL 的问题让我想起了本教程

当 Ryan 强制使用 SSL 时,他提到它不能在开发环境(本地)中工作,只能在生产和测试中工作。这个问题在六分钟左右讨论。看来,如果您使用 ssl 部署您的应用程序,那么它将起作用。Omniauth 和使用外部提供程序也是如此。它在本地不起作用,但在部署时会起作用。

于 2012-04-04T15:35:17.667 回答