我正在创建一个用户登录一次的iPhone应用程序(当他们第一次打开应用程序时),然后再也不必再登录(就像instagram一样)。该应用程序将在下次打开时自动记录它们。但是,该应用程序向Web服务器发出大量请求。
服务器发布会话令牌的最佳方式是什么?会话令牌有效期为多久?如何确保用户永远不必再次登录,同时仍提供安全的会话令牌。
一种方法是服务器在用户第一次登录时向用户发出令牌,并使该令牌永久化。然而,这似乎并不安全。
感谢您的帮助!
答案 0 :(得分:3)
嗯,通常会话已通过会话cookie处理。除非您计划让第三方连接到您的服务,否则我认为除了基本的http身份验证之外,做任何事情都有点过头了。我肯定会通过https连接发送所有连接请求。
至于在iPhone端保持会话,您可以将用户和密码保存在钥匙串中,然后在需要您再次登录时自动检索并将其发送到服务器,而无需提示用户再次登录您希望会话在服务器端持续的频率取决于您。
答案 1 :(得分:1)
服务器发布会话令牌的最佳方式是什么?
一种方法是使用OAuth。它比cookies更复杂,但它有更多的功能 令牌被授予每个应用程序,并且可以由用户从服务器中的页面撤消。此令牌可以是永久的或临时的。您可以将其存储为纯文本或iPhone钥匙串,具体取决于您需要的安全级别。有用于服务器和客户端实现的开放免费代码。另一个好处是客户可以使用他们的Twitter / Facebook / ...帐户登录您的服务,这样他们就不需要在您的网站上注册。