繁体   English   中英

一次登录iOS-最有效的方式?

[英]One time login in iOS - Most Efficient Way?

我正在寻找对我的iPhone应用程序进行一次性登录的最佳方法。 使用iOS 5.1.1 SDK,但针对iOS 4.1进行部署。

它的目的是获取生成的ID:如果存在ID,则不再需要登录,该ID将以XML返回。

我的应用程序是对当前基于Web的服务的扩展,它涉及位置更新的异步HTTP POST(以ID为标识符),并检查返回的XML是否存在任何错误。 该ID不会过期。 这是一个单视图应用程序,因为它只需要一个开始/停止按钮。

Web服务的用户名永不更改,因此我只想一次性获取ID,如果由于服务和应用程序的性质(不提供信息)而有人入侵事物并获得ID,则不会带来任何好处或安全风险对用户。 我想要的过程如下。

  1. 应用启动。
  2. 我们是否存储了ID? (是/否)
  3. 如果是,请申请。
  4. 如果没有当前的用户名/密码屏幕以获取ID。
  5. 输入用户名/密码后,密码将被加密,发送到服务器以进行验证,如果是,则返回ID并将其存储。

用户名/密码将是两个输入和一个登录按钮。

最好的方法是什么? 我真的不知道该朝哪个方向走。

我建议做的是使用iOS的钥匙串来存储用户的ID。 您永远都不能太安全,可以在此处找到示例用法GenericKeychain ,也可以使用许多易于使用的包装器来完成此操作。

如果您真的不关心安全性,则NSUserDefaults可用于存储。

此外,我建议利用iCloud文档存储来使该ID对于所有用户设备持久化。 您可以参考线程以获取更多信息。

希望我提出的所有建议对您的问题有所帮助!

更新 :对于其他认为此答案有用的人。 @sandmanza所述,如果您使用钥匙串路线,请确保包括Security.framework

您可以将ID保存在NSUserDefault中,并在启动该应用程序后,可以从NSUserDefault中检索ID并检查是否存在ID,然后您可以继续进行操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM