在KeyChain中存储访问令牌和刷新令牌

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

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

如果有更好的方式来存储上面,请让我知道。

你将首先想要用你想要的键/值来构build一个NSDictionary。 接下来,你可以使用类似Lockbox的东西来存储NSDictionary到钥匙串,使用提供的setDictionary:forKey:接口。

更新:要更改存储在该字典中的值,只需传递一个NSMutableDictionary (这是常用的方法):

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

仅供参考,一个NSMutableDictionaryNSDictionary一个子类,所以把它直接保存到钥匙串是安全的!