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

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

概述事情并不像在用户手机上存储登录数据的最佳做法那样清晰.有人建议将userID = 123和loggedIn = true类型数据等数据存储在NSUSerDefaults数据中.然而根据我的理解,根据这篇文章 https://www.andyibanez.com/nsuserdefaults-not-for-sensitive-data/,这些数据可以很容易地被 *** 作 所以问题是:当用户浏览各种屏幕时 事情并不像在用户手机上存储登录数据的最佳做法那样清晰.有人建议将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示例项目为起点.

总结

以上是内存溢出为你收集整理的iOS Swift在哪里存储用户登录数据或OAuth令牌?全部内容,希望文章能够帮你解决iOS Swift在哪里存储用户登录数据或OAuth令牌?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存