会话管理和一次性用户登录 - iPhone

4
我正在创建一个iPhone应用程序,用户只需要登录一次(第一次打开应用程序时),以后再也不需要登录(就像Instagram一样)。下一次他们打开应用程序时,应用程序将自动登录。然而,该应用程序会向Web服务器发出大量请求。
服务器发放会话令牌的最佳方式是什么?会话令牌应该有效多长时间?如何确保用户无需再次登录,同时仍提供安全的会话令牌?
一种方法是服务器在用户首次登录时向用户发放一个令牌,并使该令牌永久有效。但是,这似乎不安全。
感谢您的帮助!
2个回答

3

一般情况下,会话已经通过会话cookie处理。除非你打算让第三方连接到你的服务,否则除了基本的http身份验证之外,我认为不需要进行任何过度的操作。但我建议您将所有连接请求都发送到https连接。

至于在iPhone端持久化会话,您可以将用户和密码保存在Keychain中,然后在服务器再次要求您登录时自动检索并发送它,而无需提示用户重新登录。您希望会话在服务器端持续多长时间,这完全取决于您。


1
服务器发放会话令牌的最佳方式是什么?
其中一种方法是使用OAuth。它比cookie更复杂,但具有更多功能。 每个应用程序都被授予一个令牌,并且用户可以从服务器上的页面撤销该令牌。此令牌可以是永久性或临时性的。您可以根据所需的安全级别将其存储为纯文本或iPhone钥匙串中。有开放的免费代码可供服务器和客户端实现。另一个好处是,客户端可以使用他们的Twitter/Facebook/...帐户登录您的服务,因此他们不需要在您的网站上注册。

谢谢,但我宁愿使用自己的身份验证系统,而不需要运行自己的OAuth服务器。 - Vikas Yendluri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接