问题描述
我必须集成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.xml
和auth_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应用