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

Google认证后无法重定向至MAUI应用,浏览器未自动关闭

解决MAUI Android端Google认证后无法重定向回应用的问题

出现这个问题的核心原因是回调URL的Scheme配置与Activity的IntentFilter不匹配,以及使用通用https Scheme导致系统无法正确路由回你的应用。以下是具体修复步骤:

1. 修改回调URL为自定义Scheme

将callbackUrl替换为应用专属的自定义Scheme格式,示例:

var callbackUrl = new Uri("com.yourcompany.yourapp:/oauth2redirect");

这里的com.yourcompany.yourapp可替换为你的应用包名或专属标识,/oauth2redirect为固定路径(需和后续Activity配置保持一致)。

2. 调整WebAuthenticatorActivity的IntentFilter

更新Activity的IntentFilter,使其匹配自定义的Scheme和路径:

[Activity(NoHistory = true, LaunchMode = LaunchMode.SingleTop, Exported = true)]
[IntentFilter(new[] { Intent.ActionView },
    Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
    DataScheme = "com.yourcompany.yourapp", // 与回调URL的Scheme完全一致
    DataPath = "/oauth2redirect")] // 与回调URL的路径完全一致
public class WebAuthenticatorActivity : WebAuthenticatorCallbackActivity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
    }
}
  • 必须保证DataScheme和DataPath与回调URL对应部分完全匹配
  • Exported = true是Android 12+的强制要求,不可省略

3. 配置Google Cloud Console的重定向URI

登录Google Cloud Console,找到你的OAuth 2.0客户端ID,将自定义回调URL(如com.yourcompany.yourapp:/oauth2redirect)添加到授权重定向URI列表中。

关键说明

使用https作为Scheme时,系统会默认将该URL交给浏览器处理,而非路由回你的应用。自定义Scheme是MAUI中实现Web认证回调的标准方式,能确保登录成功后系统正确唤起应用并关闭浏览器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:57:10