msalclientexception重定向URI不匹配

问题描述

我必须集成Microsoft身份验证API才能在android应用中登录。为此,我通过提供程序包名称和签名哈希将我的应用程序注册到了Azure门户。 使用此命令生成签名哈希 keytool -exportcert -alias androiddebugkey -keystore%HOMEPATH%.android \ debug.keystore | openssl sha1 -binary | openssl base64

应用运行时,出现此异常 MsalClient异常:重定向URI与程序包名称和签名哈希不匹配。 但包名称和签名哈希在android和Azure上都相同。我按照本教程 https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-android

解决方法

我测试了sample code,它工作正常。

确保您需要遵循this part来配置Azure AD应用。

需要配置两个文件:AndroidManifest.xmlauth_config.json

我的配置供您参考:

auth_config_multiple_account.json

{
  "client_id" : "6cXXXXa2-295d-455a-88fe-b1XXXXXXXX0e","authorization_user_agent" : "DEFAULT","redirect_uri" : "msauth://com.azuresamples.msalandroidapp/1wIqXSqBj7w%2Bh11ZifsnqwgyKrY%3D","authorities" : [
    {
      "type": "AAD","audience": {
        "type": "AzureADandPersonalMicrosoftAccount","tenant_id": "common"
      }
    }
  ]
}

AndroidManifest.xml

<data
                    android:host="com.azuresamples.msalandroidapp"
                    android:path="/1wIqXSqBj7w+h11ZifsnqwgyKrY="
                    android:scheme="msauth" />

Azure AD应用

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...