我有一个iOS应用程序,可以对Rails应用程序进行身份验证。第一次进行身份验证时,需要提交用户名和密码,作为回报,rails应用程序返回一个令牌,iOS应用程序可以使用该令牌在进一步的通信中进行身份验证。
它们之间传递的信息包括用户的电子邮件地址和其他琐碎的信息,但没有像财务细节等高度敏感。我需要一种方法来保护这些通信。
我可以添加此保护的最简单方法是什么?
答案 0 :(得分:2)
HTTPS是一种通过网络传输来保护通信的直接方式。可以使用oAuth完成重用和令牌以进行后续通信。您可能想要采用Facebook在其iOS SDK中采用的方法。他们在UIWebView(HTTPS)中放置登录页面并返回oAuth令牌以便后续调用。
编辑:由于SSL似乎“不在桌面上” - 为什么不用基本身份验证进行身份验证,并让每次调用重新进行身份验证而不是使用令牌。
答案 1 :(得分:1)
为您的网络服务器获取可信且有效的证书,并使用SSL / HTTPS。这就是大多数人所做的事情。
我不建议您实施自己的加密方法。
答案 2 :(得分:0)
您在本地使用SSL的问题让我想起了这个tutorial
当Ryan强制使用SSL时,他提到它不会在开发环境(本地)中工作,只能在生产和测试中使用。围绕六分钟标记讨论了这个问题。看来,如果您使用ssl部署应用程序,那么它将起作用。 Omniauth和外部提供商也是如此。它在本地不起作用,但在部署时会起作用。