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

Flutter Android端Apple OAuth登录后无法返回应用问题求助

Android端Supabase Apple登录无法返回应用问题

我正在开发一个基于Supabase的非自托管Flutter应用,目前所有原生、Web端登录,以及通过Google实现的Apple登录都正常,但Android端的Apple登录存在异常:

  • 能正常进入Apple登录页面,但配置深度链接后无法返回应用
  • 确认Apple ID后,Supabase始终尝试连接默认站点URL,而非指定的重定向URL
  • 若将站点URL设为网站地址(如http://localhost:3000),能获取到成功码(https://localhost:3000/?code=XXXXXXXXXX),但模拟器不会返回应用
  • 若将深度链接信息(如com.example.supabaselogin)设为站点URL,Apple会返回错误

代码实现

ElevatedButton(
  onPressed: () async {
    if (!kIsWeb && Platform.isIOS) {
      return signInWithApple(); // 这部分原生逻辑正常工作
    } else if (!kIsWeb && Platform.isAndroid) {
      await supabase.auth.signInWithOAuth(OAuthProvider.apple,
      redirectTo: "com.example.mobileAppTemplate://login-callback/"); 
      // 这部分无法正常工作
    }
    await supabase.auth.signInWithOAuth(OAuthProvider.apple, redirectTo: redirectTo); // Web端逻辑正常工作
  },
  child: const Text('Sign in with Apple')),

AndroidManifest配置

<intent-filter>                 
    <action android:name="android.intent.action.VIEW" />                 
    <category android:name="android.intent.category.DEFAULT" />                 
    <category android:name="android.intent.category.BROWSABLE" />                   
    <data                      
         android:scheme="com.example.mobileAppTemplate"                      
         android:host="login-callback" /> 
</intent-filter>

已尝试的解决方案

  • 成功实现其他登录方式,尝试使用supasocialsauth库,更换不同的scheme和host,问题依旧
  • 使用app_links库手动实现深度链接,终端测试有效,但Apple登录时无法通过URL返回应用

更新内容

我认为配置无误,但:

  • 使用应用返回深度链接(如com.example.mobileAppTemplate://login-callback)时,Apple报错且无法返回应用
  • 使用基于URL的深度链接(如http://localhost/foo)时,Apple会重定向到该URL,问题仍未解决

内容的提问来源于stack exchange,提问作者Abdurrahim Yılmaz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 14:05:02