访问令牌持久性最佳实践 (iOS)

Posted

技术标签:

【中文标题】访问令牌持久性最佳实践 (iOS)【英文标题】:Access Tokens Persistence Best Practices (iOS) 【发布时间】:2011-08-13 04:22:41 【问题描述】:

是否应该对 Twitter 和 Facebook 等服务的访问令牌进行加密? 特别是,令牌是否应该存储在设备的钥匙串与 UserDefaults 中?如果用户的设备被盗/被盗,可能会出现哪些安全问题

这是我迄今为止想出的。

钥匙串的优点: 加密

缺点: 用户删除应用时无法清理

UserDefaults 的优点: 保存在应用内。

缺点: 没有加密。

【问题讨论】:

【参考方案1】:

您的 UserDefaults 'con' 需要修改:默认情况下没有加密。您可以使用例如加密自己的内容。 CommonCrypto,但它需要额外的工作来存储纯文本。

OAuth 令牌的意义在于,拥有该令牌的人可以使用相关服务而无需出示凭据。因此,您应该像保护密码一样保护它,如果您必须存储密码,因为它具有相同的值。

如果用户的设备被盗,那么除非他们用密码锁定了他们的设备,否则小偷可以在您描述的任何一种情况下以用户身份使用您的应用。如果您不加密访问令牌,那么他们还可以从他们控制的代码中提取并重放它。

【讨论】:

查看此线程:***.com/questions/3671499/…。钥匙串项目是持久化的。

以上是关于访问令牌持久性最佳实践 (iOS)的主要内容,如果未能解决你的问题,请参考以下文章

访问令牌和刷新令牌最佳实践?如何实现访问和刷新令牌

使用 redux 在 react-native 应用程序中保存访问令牌的最佳实践是啥?

管理身份验证令牌的最佳实践

参考令牌生成最佳实践

生成 OAuth 令牌的最佳实践?

通过安全令牌进行 API 身份验证的最佳实践(Node.js 服务器和移动应用程序)