在 KeyChain 中存储访问令牌和刷新令牌
Storing access token and refresh token in KeyChain
我想知道如何在 iOS 钥匙串中有效地存储访问令牌、刷新令牌及其到期时间。
我看到的所有例子似乎都只存储一个键值组合。我们如何为一个钥匙串标识符存储多个键值?
如果有更好的存储方式,请告诉我。
您首先要使用您想要的 key/values 构建一个 NSDictionary。
接下来,您可以使用 Lockbox 之类的东西将 NSDictionary 存储到钥匙串,使用提供的 setDictionary:forKey:
接口。
更新: 要更改存储在该字典中的值,您只需通过 NSMutableDictionary
(这是常见的做法):
NSMutableDictionary *mutableDict = [[LockBox dictionaryForKey:@"YourRefreshTokenDictionaryKey"] mutableCopy];
mutableDict[@"access_token"] = @"NewAccessToken";
[LockBox setDictionary:mutableDict forKey:@"YourRefreshTokenDictionaryKey"];
仅供参考,NSMutableDictionary
是 NSDictionary
的子类,因此将其直接保存回钥匙串是安全的!
我想知道如何在 iOS 钥匙串中有效地存储访问令牌、刷新令牌及其到期时间。
我看到的所有例子似乎都只存储一个键值组合。我们如何为一个钥匙串标识符存储多个键值?
如果有更好的存储方式,请告诉我。
您首先要使用您想要的 key/values 构建一个 NSDictionary。
接下来,您可以使用 Lockbox 之类的东西将 NSDictionary 存储到钥匙串,使用提供的 setDictionary:forKey:
接口。
更新: 要更改存储在该字典中的值,您只需通过 NSMutableDictionary
(这是常见的做法):
NSMutableDictionary *mutableDict = [[LockBox dictionaryForKey:@"YourRefreshTokenDictionaryKey"] mutableCopy];
mutableDict[@"access_token"] = @"NewAccessToken";
[LockBox setDictionary:mutableDict forKey:@"YourRefreshTokenDictionaryKey"];
仅供参考,NSMutableDictionary
是 NSDictionary
的子类,因此将其直接保存回钥匙串是安全的!