我正在编写一个使用Twitch.tv's API允许我的应用访问其用户内容的iOS应用。他们使用OAuth 2.0协议进行身份验证。每次我请求访问用户信息时,都需要使用此访问 token 。

我的问题是应该将其存储在哪里?

我应该建立一个具有属性的类吗?在该类中,我还可以存储重定向URI和Client_ID,以将内容保存在一个地方。

我想到了NSUserDefaults,但我读到它不是很安全。

在iOS上,这种方法的最佳设计模式是什么?

谢谢。

最佳答案

您的问题的措词方式似乎使单词存储的使用混淆了两个完全不同的含义。如果您使用NSUSerDefaults,则 token 将存储到文件中,并且在应用被终止后将保留。如果将其设置为类的属性,则它将被临时存储在内存中,并且在应用被终止后不会持久保存。因此,您的问题是询问我应该使用苹果还是橘子。

如果需要持久存储敏感数据,则不应使用NSUserDefaults,而应使用iOS钥匙串。钥匙串的使用时间太长,无法在此处进行描述。
钥匙串已加密,但仅使用用户的4位数字密码,这可能会被蛮力破解。因此,您还可以对它进行加密。

关于ios - 存储OAuth token iOS的最佳方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21632756/

10-12 00:18
查看更多