0
  • 使用的库版本 -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。

  • 接下来,每当运行应用程序时,都会再次发送获取令牌的调用。
4

0 回答 0