You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Android集成AD B2C遇ERR_UNKNOWN_URL_SCHEME及aadb2c90006错误求助

解决Flutter Android集成Azure AD B2C的重定向URI错误

核心问题分析

你遇到的两次错误本质都是重定向URI的配置不匹配,以及Android端未正确配置Intent Filter来处理自定义URL Scheme。以下是针对性的解决步骤:


步骤1:恢复并修正AndroidManifest.xml的Intent Filter配置

你之前移除BrowserTabActivity的配置是错误的,Azure AD B2C需要这个Activity捕获重定向请求。根据你更新后的重定向URIcom.example.appname://oauth/redirect,修改Manifest配置如下:

<activity
    android:exported="true"
    android:name="com.microsoft.identity.client.BrowserTabActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- 匹配自定义重定向URI -->
        <data 
            android:scheme="com.example.appname"
            android:host="oauth"
            android:path="/redirect" />
    </intent-filter>
</activity>

步骤2:确保三方配置完全一致

必须保证以下三处的重定向URI完全相同:

  • Azure门户应用注册中「移动和桌面应用」下的重定向URI:com.example.appname://oauth/redirect
  • AndroidManifest.xml中Intent Filter的data参数(scheme/host/path组合后与URI一致)
  • Flutter代码中初始化aad_b2c_webview时的redirectUri参数

步骤3:清理缓存并重新构建

执行以下操作清除旧配置缓存:

  • 运行flutter clean清除Flutter项目缓存
  • 手动删除Android项目的build文件夹(路径:android/app/build)
  • 重新运行flutter run

额外注意事项

  • 不要混用msauth开头的URI和自定义Scheme,选择一种配置方式保持统一
  • 检查应用包名是否和URI中的com.example.appname完全匹配,包名不一致会导致重定向失败

内容的提问来源于stack exchange,提问作者armache

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 11:18:08