java - Android 将 MSAL 添加到应用程序会导致用户名不能为空
问题描述
我正在尝试将 MSAL 集成到一个 android 项目中,以使用 Microsoft 身份验证器对用户进行身份验证。
我正在关注这个链接
我添加了我尝试使用实际版本2.1.0
而不是+
:
implementation 'com.microsoft.identity.client:msal:2.+'
有了这个,我可以成功地将项目与 Gradle 文件同步,但是在运行项目时我遇到了以下错误:
Execution failed for task ':app:compileDebugAidl'.
> Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not resolve com.cerence:com.cerence.tts:1.0.+.
Required by:
project :app
> Failed to list versions for com.cerence:com.cerence.tts.
> Unable to load Maven meta-data from https://identitydivision.pkgs.visualstudio.com/_packaging/AndroidADAL/maven/v1/com/cerence/com.cerence.tts/maven-metadata.xml.
> Could not get resource 'https://identitydivision.pkgs.visualstudio.com/_packaging/AndroidADAL/maven/v1/com/cerence/com.cerence.tts/maven-metadata.xml'.
> Username must not be null!
> Could not resolve com.cerence:com.cerence:1.3.+.
Required by:
project :app
> Failed to list versions for com.cerence:com.cerence.
> Unable to load Maven meta-data from https://identitydivision.pkgs.visualstudio.com/_packaging/AndroidADAL/maven/v1/com/cerence/com.cerence/maven-metadata.xml.
> Could not get resource 'https://identitydivision.pkgs.visualstudio.com/_packaging/AndroidADAL/maven/v1/com/cerence/com.cerence/maven-metadata.xml'.
> Username must not be null!
我尝试过无效的缓存并重新启动,清理项目,但它们都不适合我。
如果我删除此依赖项,那么它将作为例外工作。
我该如何解决这个问题?我错过了什么吗?
解决方案
添加后它对我有用
maven {
url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDKPublic/_packaging/Duo-SDKFeed/maven/v1'
}
在应用程序 build.gradle 文件的存储库中。
参考:https ://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-android#use-msal
所以现在它看起来像这样:
repositories {
google()
jcenter()
maven {
url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
}
maven {
name "vsts-maven-adal-android"
url "https://identitydivision.pkgs.visualstudio.com/_packaging/AndroidADAL/maven/v1"
credentials {
username System.getenv("ENV_VSTS_MVN_ANDROIDADAL_USERNAME") != null ? System.getenv("ENV_VSTS_MVN_ANDROIDADAL_USERNAME") : project.findProperty("vstsUsername")
password System.getenv("ENV_VSTS_MVN_ANDROIDADAL_ACCESSTOKEN") != null ? System.getenv("ENV_VSTS_MVN_ANDROIDADAL_ACCESSTOKEN") : project.findProperty("vstsMavenAccessToken")
}
}
}
推荐阅读
- php - PDO 驱动程序在 Debian 10 中没有价值
- ios - 如何将关联域附加到 CoreNFC 中 NFCNDEFPayload 的 NFC 标签中
- java - Android 应用程序在模拟器中使用 java 代码崩溃
- html - 如何使用 JQUERY 检查所有“th”值?
- java - 如何在放心的拦截器中设置内容类型?
- python - python pandas,删除用于任何 DataFrame 特定列的重复功能,但有一个例外:
- google-cloud-platform - 谷歌云平台如何限制用户使用单个VPC?
- android - 在 Android 10 中,Picasso 能够在没有任何权限的情况下真正显示带有图像的 Uri 的图像,但 openInputStream 需要权限
- html - 如何使整个元素可点击?
- excel - Excel 2013 | 列出数组中非空白单元格的内容