首页 > 解决方案 > 关闭带有特定 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,或者我们可以在收到响应后关闭吗?

标签: asp.netazure-active-directory

解决方案


您可以使用destinationpageurl属性

DestinationPageUrl属性指定登录尝试成功时显示的页面。

或者

你可以使用JavaScript来实现这个window.location.href返回当前页面的href(URL)

Response.Redirect如果您只想导航到同一个窗口页面,应该可以工作。

请参阅此处以在同一窗口中打开 url

您可以查看如何处理它,请参见此处


推荐阅读