首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS和Swift中,在应用启动之间存储服务器提供的凭据的最佳方式

在iOS和Swift中,在应用启动之间存储服务器提供的凭据的最佳方式
EN

Stack Overflow用户
提问于 2017-04-29 03:18:04
回答 1查看 313关注 0票数 0

我需要在应用程序启动和设备重启之间存储一个持久记忆令牌(一个字符串)。令牌将由服务器提供,一旦我的用户登录到应用程序及其后端服务(已构建)。具体地说,我需要为记忆标记设置一个持久的数据占位符,但我不希望代码实际设置该占位符的值。

一方面,NSUserDefaults (现在称为UserDefaults)似乎是完成此任务的一种简单方法,但在阅读文档后,似乎这不是该功能的目的。我看到的所有文档都显示了通过为键赋值来设置它。我绝对不想让应用程序给那个键赋值。

做这件事最简单的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2017-04-29 05:02:29

要实现这一点,同时还要考虑安全性,最简单的方法是使用密钥链。存储在钥匙链中的数据使用例如设置Touch ID支持时提供的密钥进行加密。

您永远不应该、永远、永远都不应该使用UserDefaults来完成这样的任务。原因是UserDefaults是由简单的、未加密的.plist文件支持的,该文件是捆绑包的一部分,并且可以或多或少地被能够访问您的ipa的任何人(例如,任何具有越狱设备的人)查看。

Swift是用Objective-C编写的,但是有许多使用KeychainAccess封装它的包装器。您可以在https://github.com/kishikawakatsumi/KeychainAccess上使用此命令

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43687450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档