首页 > 解决方案 > 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!

我尝试过无效的缓存并重新启动,清理项目,但它们都不适合我。

如果我删除此依赖项,那么它将作为例外工作。

我该如何解决这个问题?我错过了什么吗?

标签: javaandroidauthenticationmsal

解决方案


添加后它对我有用

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")
        }
    }
}

推荐阅读