如何解决云应用中出现的“更新浏览器”消息

遇到“更新浏览器”消息可能会令人沮丧,尤其是在使用依赖现代浏览器才能正常运行的云应用或服务时。本指南解释了此问题出现的原因,并为用户和开发人员提供了可行的解决方案。


是什么导致出现“更新浏览器”消息?

你可能会看到以下消息:

请更新浏览器
你的浏览器不受支持或不是最新版本。请尝试更新浏览器,或下载并安装最新版本的Microsoft Edge。

此问题通常发生在某些应用程序依赖旧组件时,例如ADAL(Active Directory Authentication Library)或MSAL(Microsoft Authentication Library),它们使用过时的嵌入式浏览器。这些基于 Internet Explorer 7 组件的旧浏览器已不再符合现代安全或兼容性标准。


用户快速修复方法

如果你是遇到此问题的用户,请按以下步骤操作:

  1. 更新浏览器
    下载并安装最新版本的Microsoft Edge,或使用 Google Chrome 等其他现代浏览器。
  2. 访问安全设置
    如果问题仍然存在,请尝试通过以下链接直接访问你的安全设置:https://aka.ms/mysecurityinfo。
  3. 使用受支持的浏览器
    打开受支持的浏览器(Edge 或 Chrome)并导航到https://myapps.microsoft.com,以完成所需的任何操作,例如 MFA 注册。

面向开发人员和应用程序供应商的概述

对于将应用程序与云环境集成的开发人员或供应商,此问题通常是由于过时的身份验证库或框架引起的。使用ADAL或旧版MSAL的应用程序可能依赖于不再受支持的嵌入式浏览器。解决方案取决于具体实现。

主要原因

  • ADAL 和 MSAL 嵌入式浏览器
    旧版 .NET 应用程序使用基于 IE7 组件的嵌入式浏览器,无法支持现代身份验证流。
  • Entra ID 多重身份验证
    注册向导需要现代浏览器,不支持旧版 Internet Explorer。

建议的解决方案:从 ADAL 迁移到 MSAL,并启用基于代理的身份验证。


开发人员解决方案:升级到 MSAL

如果你是开发人员,请按以下步骤解决与浏览器相关的兼容性问题:

第 1 步:使用最新版 MSAL

MSAL 支持现代身份验证流,并可与更新后的浏览器配合使用。例如,在 MSAL 中启用WAM (Windows Authentication Manager)支持:

var pca = PublicClientApplicationBuilder.Create("client_id")
    .WithBroker(new BrokerOptions(BrokerOptions.OperatingSystems.Windows));

在此处了解有关启用 WAM 支持的更多信息:
场景:使用 WAM 获取桌面令牌


第 2 步:在 Windows Server 上使用 WebView2

如果无法使用 WAM(例如,在 Windows Server 上),请切换到WebView2,它基于 Edge。请确保你的应用程序面向框架.NET6+以确保兼容性。按如下方式更新项目文件:

<TargetFramework>net6.0-windows10.0.22621.0</TargetFramework>

第 3 步:回退到系统浏览器

如果 WAM 和 WebView2 都不可用(例如,对于旧系统),请使用系统浏览器进行身份验证:

var result = await pca.AcquireTokenInteractive(scopes)
    .WithUseEmbeddedWebView(false);

在此处了解有关使用系统浏览器的更多信息:
使用 Web 浏览器进行身份验证


常见问题与解决方案

场景 1:云应用程序的 MFA 注册

用户需要注册多重身份验证 (MFA),但遇到了“更新浏览器”消息。
解决方案:
确保用户使用 Edge 或 Chrome 等现代浏览器访问https://myapps.microsoft.com。


场景 2:使用 ADAL 的旧版应用程序

旧版应用程序使用 ADAL,由于嵌入式浏览器兼容性问题,在身份验证期间失败。
解决方案:
将应用程序迁移到 MSAL,并启用代理身份验证或 WebView2。


场景 3:Windows Server 身份验证

在 Windows Server 上运行的应用程序需要身份验证,但不支持 WAM。
解决方案:
使用 WebView2,或回退到系统浏览器进行身份验证。


安全与兼容性要点

  • 现代浏览器至关重要
    依赖过时浏览器(例如,IE7 组件)的应用程序与现代身份验证流不兼容。
  • 敏感数据保护
    确保在身份验证期间安全地处理敏感数据(例如,密码、令牌)。MSAL 提供了改进安全性的功能。

了解更多

如需更多详细信息和示例,请访问 Microsoft 官方文档:

发表评论