gpt4 book ai didi

azure-active-directory - Microsoft Android 应用程序未将签名哈希与应用程序回复 URI 匹配

转载 作者:行者123 更新时间:2023-12-04 09:54:50 26 4
gpt4 key购买 nike

目标:使用由 Microsoft 创建的 MS Identity 应用程序并尝试根据我们的需要定制应用程序。
问题 android 应用程序未将签名哈希与应用程序的回复 URI 匹配。
配置值

Signature Hash: ga0RGNYHvNM5d0SLGQfpQWAPGJ8=
Redirect URI: msauth://com.azuresamples.msalandroidapp/ga0RGNYHvNM5d0SLGQfpQWAPGJ8%3D
Android:host: com.azuresamples.msalandroidapp
Android Scheme: msauth
日志和截图
日志显示:配置文件中的重定向 URI 与使用包名称和签名哈希生成的 URI 不匹配。
Screenshot of the error in the Android Emulator
尝试过的方法
  • 试图通过将 android:path 值更改为 /ga0RGNYHvNM5d0SLGQfpQWAPGJ8%3D 来解决此问题但是从用户界面收到此消息:
    Screenshot of the update android:path value
  • 尝试直接从 Azure 门户更改回复 URI,但无法更改
  • 尝试将 android 代码中的重定向 URI 更改为 msauth://com.azuresamples.msalandroidapp/ga0RGNYHvNM5d0SLGQfpQWAPGJ8%3D但这给出了同样的错误
  • 代码中的默认库是 1.2,在 gradle 中将其更改为 1.5+,但仍然无法正常工作。

  • 配置文件
    auth_config_single_account.json

    "client_id" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "authorization_user_agent" : "DEFAULT",
    "redirect_uri" : "msauth://com.azuresamples.msalandroidapp/ga0RGNYHvNM5d0SLGQfpQWAPGJ8%3D",
    "account_mode" : "SINGLE",
    "broker_redirect_uri_registered": true,
    "authorities" : [
    {
    "type": "AAD",
    "authority_url": "https://login.microsoftonline.com/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    ]
    }
    AndroidManifest.xml
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.azuresamples.msalandroidapp">
    ...
    <intent-filter>
    ...
    <data
    android:host="com.azuresamples.msalandroidapp"
    android:path="/ga0RGNYHvNM5d0SLGQfpQWAPGJ8="
    android:scheme="msauth" />
    </intent-filter>
    ...

    </manifest>
    构建梯度:应用程序
    ...
    dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "androidx.appcompat:appcompat:$rootProject.ext.appCompatVersion"
    implementation "com.google.android.material:material:$rootProject.ext.materialVersion"
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'

    implementation 'com.android.volley:volley:1.1.1'

    if (findProject(':msal') != null) {
    // For developer team only.
    localImplementation project(':msal')
    externalImplementation 'com.microsoft.identity.client:msal:1.5.+'
    }
    else {
    // Downloads and Builds MSAL from maven central.
    implementation 'com.microsoft.identity.client:msal:1.5.+'
    }

    }
    更新
    试图避免这种情况,但我已经使用微软提供的 debug.keystore 更新了我的 keystore 并且它可以工作,但这不是生产环境的解决方案。我需要采取哪些步骤才能使其在生产环境中工作。

    最佳答案

    这是来自 MSAL Android 团队的 Dome。

    如果您想使用自己的 keystore ,则必须register your own application .

    com.azuresamples.msalandroidapp 仅使用提供的 debug.keystore 的签名哈希注册。

    如果您有任何其他问题,请告诉我。您也可以leave a question in our GitHub repository以及(我们一直在监视那个)。

    关于azure-active-directory - Microsoft Android 应用程序未将签名哈希与应用程序回复 URI 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61942108/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com