asp.net - 关闭带有特定 url 的浏览器窗口(由不同的浏览器打开)
问题描述
我正在做一个应用程序,当用户点击社交登录时,它会打开一个新窗口。假设我的应用程序在 Chrome 上运行,并且我的默认浏览器设置为 Edge;URL 正在 Edge 中打开。成功生成令牌后,它会在不关闭浏览器窗口/选项卡的情况下重定向到应用程序。
我正在使用 azure AD 身份验证,如下所示
IPublicClientApplication app = PublicClientApplicationBuilder
.Create(azMapping.ClientId)
.WithAuthority(authority)
.WithRedirectUri("http://localhost:44342/Default.aspx")
.Build();
result = app.AcquireTokenInteractive(scopes)
.WithSystemWebViewOptions(new SystemWebViewOptions())
.ExecuteAsync(CancellationToken.None)
.GetAwaiter().GetResult();
授权 URL 在默认浏览器中打开。有没有办法在正在运行的应用程序上打开 URL,或者我们可以在收到响应后关闭吗?
解决方案
您可以使用destinationpageurl属性
DestinationPageUrl属性指定登录尝试成功时显示的页面。
或者
你可以使用JavaScript来实现这个window.location.href
返回当前页面的href(URL)
Response.Redirect
如果您只想导航到同一个窗口页面,应该可以工作。
您可以查看如何处理它,请参见此处
推荐阅读
- c# - 基于子集合的父级热巧克力自定义过滤器
- azure - 如何在 azcopy 中为我的网站根目录下的文件夹指定源位置
- javascript - 如何将对象数组转换为数组数组
- scala - 如何以编程方式检查变量是 val 还是 var?
- oracle - 如何向已在 Oracle 中加载数据的表添加自动增量主键?
- html - 如何从 React-Particles-JS 库中导入这个接口?
- java - Spring Data CosmosDB 多租户 CosmosDB 配置
- python - Python中的实时时钟(RTC)
- c# - C# 对象和数组,如何使用它们?
- javascript - 使用Ajax从FormData中的Form发送图像不会出现在服务器端(Flask python)