- 使用的库版本 -ADALiOS (3.0.0-pre3)
- 一旦从服务器获取访问和刷新令牌,它就会成功解析,但在将其添加到缓存时调用 addorUpdateItem 方法,在该方法中调用错误条件,因为 cfmdKeychainDict 有 0 个条目。
(BOOL)addOrUpdateItem:(ADTokenCacheStoreItem*) 项目错误:(ADAuthenticationError* __autoreleasing*)error {
ADTokenCacheStoreKey* key = [item extractKeyWithError:error];
if (!key)
{
AD_LOG_ERROR_F(@"failed to extract key", AD_ERROR_CACHE_PERSISTENCE, @"%@", item);
return NO;
}
__block OSStatus err = errSecSuccess;
adkeychain_dispatch_if_needed(^{
CFMutableDictionaryRef cfmdKeychainDict = NULL;
err = [self copyDictionary:&cfmdKeychainDict
userId:[item userCacheKey]
error:error];
if (err == errSecItemNotFound)
{
cfmdKeychainDict = CFDictionaryCreateMutable(NULL, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
}
抛出错误-
引发的错误:11。附加信息:域:ADAuthenticationErrorDomain 协议代码:-25243 详细信息:ADAL 钥匙串“__51-[ADKeychainTokenCacheStore addOrUpdateItem:error:]_block_invoke”操作失败,错误代码为 -25243.. 错误代码:11。
- 接下来,每当运行应用程序时,都会再次发送获取令牌的调用。