需要用户凭据才能获取访问令牌。请调用非静默的 acquireTokenWithResource 方法。 ADALiiOS 问题
The user credentials are need to obtain access token. Please call the non-silent acquireTokenWithResource methods. ADALiOS issue
在我的 swift 项目中,我使用的是 convergence dev 分支源代码。我在我的项目中手动添加了 ADALiOS 文件。目前从刷新令牌中检索访问令牌是一个问题。
直到上周我的项目都运行良好,但当我在 Mondat 打开我的项目时,即 2016 年 3 月 20 日,我不知道我的应用程序如何以及为什么无法在本地缓存中保存访问令牌。因此,每当我尝试静默获取访问令牌时,它都无法从本地缓存中检索到它。对于每次调用,我都会收到以下错误
"参数 'cacheItem.scopes' 无效。值:(null)。" 和
"需要用户凭据来获取访问令牌。请调用非静默的 acquireTokenWithResource 方法。"
在我这边,我没有做任何改变。我能够看到新版本已经在融合分支中完成。请建议我如何解决它,也有人可以建议我是否也已完成服务器端更改,因为我正面临这个问题?
对于相同的项目设置,我们也在 android 应用程序和网页中使用了 adalios。但是那些人并没有经历过任何这样的问题,只有 iOS 团队正面临这个问题。
如果有人有任何想法,请帮助我。
阅读完整的 ADALiOS 文件结构后,我了解到有 2 个 imp 网络请求正在进行,第一个是获取授权码,在此调用中选择 "policy" 出现在 URL 中。其他调用是在我的访问令牌过期后进行的,因此要获取新的访问令牌,它会传递刷新令牌。特别是在这次通话中,我注意到 URL 中没有提供任何政策。因此,我手动对其进行了一些更改,并在 URL 中添加了策略。之后我的应用程序运行良好,现在我不必一次又一次地登录。
如果禁用钥匙串共享,可能会发生这种情况。一种解决方案可能是:
- Xcode > 目标 > 功能 > 钥匙串共享 -> 切换为开启
- 将 com.microsoft.adalcache 添加到钥匙串组。
希望对您有所帮助。
在我的 swift 项目中,我使用的是 convergence dev 分支源代码。我在我的项目中手动添加了 ADALiOS 文件。目前从刷新令牌中检索访问令牌是一个问题。
直到上周我的项目都运行良好,但当我在 Mondat 打开我的项目时,即 2016 年 3 月 20 日,我不知道我的应用程序如何以及为什么无法在本地缓存中保存访问令牌。因此,每当我尝试静默获取访问令牌时,它都无法从本地缓存中检索到它。对于每次调用,我都会收到以下错误
"参数 'cacheItem.scopes' 无效。值:(null)。" 和
"需要用户凭据来获取访问令牌。请调用非静默的 acquireTokenWithResource 方法。"
在我这边,我没有做任何改变。我能够看到新版本已经在融合分支中完成。请建议我如何解决它,也有人可以建议我是否也已完成服务器端更改,因为我正面临这个问题?
对于相同的项目设置,我们也在 android 应用程序和网页中使用了 adalios。但是那些人并没有经历过任何这样的问题,只有 iOS 团队正面临这个问题。
如果有人有任何想法,请帮助我。
阅读完整的 ADALiOS 文件结构后,我了解到有 2 个 imp 网络请求正在进行,第一个是获取授权码,在此调用中选择 "policy" 出现在 URL 中。其他调用是在我的访问令牌过期后进行的,因此要获取新的访问令牌,它会传递刷新令牌。特别是在这次通话中,我注意到 URL 中没有提供任何政策。因此,我手动对其进行了一些更改,并在 URL 中添加了策略。之后我的应用程序运行良好,现在我不必一次又一次地登录。
如果禁用钥匙串共享,可能会发生这种情况。一种解决方案可能是:
- Xcode > 目标 > 功能 > 钥匙串共享 -> 切换为开启
- 将 com.microsoft.adalcache 添加到钥匙串组。
希望对您有所帮助。