1

我想知道如何有效地将访问令牌、刷新令牌及其到期时间存储在 iOS 钥匙串中。

我见过的所有示例似乎都只存储一个键值组合。我们如何为一个钥匙串标识符存储多个键值?

如果有更好的方法来存储上述内容,请告诉我。

4

1 回答 1

0

您首先要使用所需的键/值构建一个 NSDictionary。接下来,您可以使用提供的接口使用Lockbox之类的东西将该 NSDictionary 存储到钥匙串中。setDictionary:forKey:

更新:要更改存储在该字典中的值,您只需通过 a NSMutableDictionary(这是常见的做法):

NSMutableDictionary *mutableDict = [[LockBox dictionaryForKey:@"YourRefreshTokenDictionaryKey"] mutableCopy];
mutableDict[@"access_token"] = @"NewAccessToken";
[LockBox setDictionary:mutableDict forKey:@"YourRefreshTokenDictionaryKey"]; 

仅供参考, aNSMutableDictionary是 的子类NSDictionary,因此将其直接保存回钥匙串是安全的!

于 2015-04-29T16:54:53.413 回答