如何让用户永久登录iPhone应用程序?

时间:2011-06-22 17:31:20

标签: iphone ios authentication persistence

在我的iPhone Facebook应用程序上,我想我只登录过一次。

在我的Mint财务应用程序上,我已经登录过一次。无论何时我将其重新加载,我都会在应用程序中设置一个四位数的PIN码,我再也无需登录了。

我正在构建一个应用程序,此类行为将非常有用。

他们只是设置某种类型的auth cookie并将其设置为未来的到期方式吗?还是有另一种处理方法吗?

谢谢!

4 个答案:

答案 0 :(得分:6)

您也可以使用iOS KeyChain安全存储凭据。这可以通过使用github(https://github.com/ldandersen/scifihifi-iphone/tree/master/security/)上的代码进行简化,并在http://gorgando.com/blog/tag/sfhfkeychainutils找到一些基本指令

答案 1 :(得分:3)

这取决于您的应用程序的上下文。如果您对另一个API进行身份验证,则API的供应商通常会向您提供某种身份验证密钥,该密钥可能会在一段时间后过期。一旦用户执行身份验证步骤,您就会将此密钥存储在应用程序中,并将其重复用于每个请求。

基本上,您必须存储的数据以及用户重新进行身份验证之前的时间(如果有的话)取决于您正在使用的API的供应商。

答案 2 :(得分:2)

我不能代表Facebook或Mint,但最简单的方法是使用cookie /令牌并将其存储在NSUserDefaults中。

启动应用程序时,查看令牌是否仍然有效。如果无效,请强制用户再次登录。

答案 3 :(得分:1)

我在黑暗中捅了一下,但是:

我假设登录信息已加密,然后存储在某处的设备上。在创建应用程序的新实例后,此数据将发送到站点以获取所有oauth / login / etc内容。完成此操作后,Facebook应用程序将保持运行状态,直到:1)设备已关闭,或2)您手动退出应用程序。

也许这会开始帮助你,但我相信会有更好的答案。