微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iOS Swift在哪里存储用户登录数据或OAuth令牌?

事情并不像在用户手机上存储登录数据的最佳做法那样清晰.有人建议将userID = 123和loggedIn = true类型数据等数据存储在NSUSerDefaults数据中.然而根据我的理解,根据这篇文章 https://www.andyibanez.com/nsuserdefaults-not-for-sensitive-data/,这些数据可以很容易地被操作

所以问题是:当用户浏览各种屏幕时,持久登录数据的最佳方法是什么.需要存储的唯一数据是userID或OAuth令牌以及有关此用户帐户状态的一些其他自定义位.存储此数据的最安全方法是什么,以确保在从服务器中提取数据时,某人不能简单地伪造成另一个用户

问候,
迈克尔

解决方法

NSUserDefaults API是存储REST令牌和任何类型的秘密数据的不好的地方.
因为它不是一种安全的方法,所以没有加密.此外,它可以通过逆向工程师轻松打开和读取.

我建议你把它存放在一个钥匙串中.钥匙串是更好的解决方案,因为它更安全并且具有加密功能.有关钥匙串支持存储的实现的更多详细信息,请查看iOS Keychain Services Task参考.

另请注意,这是一项非常耗时的任务,您可能对第三方库,钥匙串包装器感兴趣.我建议您以SSKeychain库或GenericKeychain Apple示例项目为起点.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐