2012-02-04 90 views
2

我正在创建一个连接到网站的应用程序,并且我不希望用户在每次加载应用程序时都需要输入他们的用户凭据。该网站返回一个会话cookie(没有到期日期设置)。我无限期地坚持该cookie是否有任何问题?如果我在应用程序启动时重新加载它,它似乎工作。保留“仅会话”cookie,iOS

谢谢!

回答

3

每个应用程序都有自己的cookie存储。因此,如果cookie没有到期,并且您没有删除它,并且应用程序未被删除,那么只要您喜欢,就没有问题。


编辑这里有一些链接,更多的意见和见解:

我对此事的看法是,在移动环境是根本与桌面环境不同,“退出”移动应用程序决不是类似的退出桌面应用程序。退出移动应用程序类似于在桌面上切换焦点。每次按Cmd-Tab时,您都不会期望重新进行身份验证。

限制会话令牌的使用寿命是一个很有价值的安全预防措施,但是在服务器端而不是客户端正确实现。如果服务器设计为允许会话无限期地持续下去(因为桌面应用永远不会退出),那么没有理由不以类似的方式在移动平台上继续会话。

请注意,还有其他解决方案,例如将用户凭证存储在钥匙串中,以便您可以重复使用它们。这在许多情况下都是合适的,但实际上它是一个低安全性的解决方案,而不是无限期地持久化会话令牌。如果您要永远坚持认证凭证,最好是单用途令牌(即会话cookie),而不是多用户用户名和密码。

+0

这是否被认为是非常糟糕的做法,因为cookie实际上只应该用于单个会话,并且应该在之后过期? – 2012-02-04 20:17:36

+0

谢谢。很好的答案!我很欣赏细节。 – 2012-02-05 23:44:32

1

有一个在你没有问题让这个cookie进行设置,每个应用程序都有一个cookie存储从中你可以,如果你需要检查的饼干,但是我认为,因为这仅仅是一个会话cookie,你只需要允许其存在并让用户利用Web服务直到用户注销。

我也用我的一些应用程序做了这个。

祝你好运。