2015-04-29 2 views
1

Я хотел бы знать, как эффективно хранить токен доступа, обновлять токены и их истечения в цепочке ключей iOS.Хранение токена доступа и обновление токена в KeyChain

Все примеры, которые я видел, похоже, хранят только одну комбинацию клавиш. Как хранить несколько ключевых значений для одного идентификатора ключевого слова?

Если есть лучший способ сохранить вышеуказанное, сообщите мне.

ответ

0

Сначала вы захотите построить NSDictionary с ключом/значениями, которые вы хотите. Затем вы можете использовать что-то вроде Lockbox для хранения этого NSDictionary для брелка, используя предоставленный интерфейс setDictionary:forKey:.

UPDATE: Чтобы изменить значение, хранящееся в этом словаре, вы только должны пройти мимо NSMutableDictionary (это обычный способ делать):

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

FYI, NSMutableDictionary является подклассом NSDictionary, так что это безопасно сохранить обратно прямо к цепочке ключей!

+0

Похоже, я не смогу изменить словарь .. (токен доступа изменится, а также токен обновления). Любые мысли об этом? – cableload

+0

@cableload: Я добавил, как редактировать словарь и сохранять его обратно в своем ответе! – Rufel

+0

@ruffel, вот что я искал ... Спасибо! Это сработает! – cableload

Смежные вопросы