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

Xamarin解决方案中Android Manifest的msauth配置如何适配UWP Manifest

UWP端MSAL身份验证协议配置方案

你遇到的报错是正常现象:Android与UWP的应用Manifest是完全独立的两套定义,不存在兼容关系,Android配置的代码不能直接复制到UWP的任何配置文件中。同时你混淆了UWP的配置文件作用:Default.rd.xml是UWP平台的.NET Native运行时裁剪指令文件,和URI协议注册、身份验证重定向配置无关,你当前的Default.rd.xml内容已经满足需求,不需要修改。

具体配置步骤

  • 找到UWP项目根目录下的Package.appxmanifest文件,双击打开进入可视化配置界面
  • 配置协议声明:
    1. 切换到「声明」标签页,在「可用声明」下拉列表选中「协议」,点击右侧「添加」按钮
    2. 在协议配置栏的「名称」字段填入msauth(对应Android配置中的scheme值),「显示名称」可自定义填写如MSAL身份验证回调,其余字段保持默认即可
  • 配置网络权限:切换到「功能」标签页,勾选「Internet(客户端)」权限,对应Android配置中的网络访问权限
  • 配置MSAL重定向规则:
    1. 在Azure AD应用注册后台的重定向URI允许列表中,添加UWP平台专用的重定向地址,格式为msal{你的Azure客户端ID}://auth
    2. 修改共享项目中的MSAL初始化代码,为UWP平台单独指定重定向URI:
    var publicClientApp = PublicClientApplicationBuilder
        .Create("替换为你的Azure AD客户端ID")
        .WithRedirectUri("msal替换为你的Azure AD客户端ID://auth")
        // 其余原有配置保持不变
        .Build();
    
  • 添加回调处理逻辑:在UWP项目的App.xaml.cs文件中重写OnActivated方法,将身份验证回调传递给MSAL处理:
protected override void OnActivated(IActivatedEventArgs args)
{
    base.OnActivated(args);
    if (args is ProtocolActivatedEventArgs protocolActivatedArgs)
    {
        AuthenticationContinuationHelper.SetAuthenticationContinuationEventArgs(protocolActivatedArgs);
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:36:01