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

Flutter Android端对接Salesforce OAuth授权回调URL问题咨询

解决方案

1. Android端捕获HTTPS回调并内部处理(无需搭建站点)

你可以通过Android App Links或自定义Intent Filter让系统直接将Salesforce的HTTPS重定向请求导向你的应用,而非打开浏览器访问站点,具体步骤如下:

  • 保留已在Salesforce连接应用中配置的HTTPS回调URL(比如https://yourapp.example.com/callback),确保该域名归你所有,用于后续App Links验证。
  • 在AndroidManifest.xml中,给处理OAuth回调的Activity添加intent-filter,声明应用可处理该HTTPS URL:
<activity android:name=".OAuthCallbackActivity">
    <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data
            android:scheme="https"
            android:host="yourapp.example.com"
            android:path="/callback" />
    </intent-filter>
</activity>
  • 在你的域名的.well-known目录下上传assetlinks.json文件,内容包含应用包名和签名指纹,示例如下:
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "package_name": "com.yourapp.package",
    "sha256_cert_fingerprints": ["你的应用签名SHA256指纹"]
  }
}]
  • 在OAuthCallbackActivity中,从Intent里提取回调URL的参数(如授权码code),通过MethodChannel将数据传递给Flutter端的oauth2_client,完成授权码流程的后续步骤。

2. 替代方案:自定义Schema配合Salesforce特殊配置

你可以联系Salesforce支持,申请允许将自定义Schema作为回调URL(比如yourapp://oauth/callback)。若获批,可直接在oauth2_client中配置该自定义Schema,无需处理HTTPS跳转。但此方案依赖Salesforce的权限开放,通用性不如第一种方案。

3. 备选:使用Salesforce官方移动SDK

如果不想自行处理OAuth流程,可直接使用Salesforce官方的Flutter SDK,其内置了针对移动应用优化的OAuth认证逻辑,无需额外配置HTTPS站点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 22:02:36