Firefox 无法在身份服务器中使用协商方案

问题描述 投票:0回答:1

我们最近更新到.net7,我们必须对我们的 Identity Server 项目进行一些更改。其中一项更改是在 Startup.cs 中添加这些服务:

services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
.AddNegotiate(options => { });

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options => { });

我们还必须更改 API 端点中的装饰器:

[Authorize(AuthenticationSchemes = "Windows")]

对此:

[Authorize(AuthenticationSchemes = NegotiateDefaults.AuthenticationScheme)]

我怀疑由于这些更改,我们的网络应用程序在 Firefox 中停止运行。尝试联系 IS 时会返回未经授权的信息。通过互联网,我发现将 network.negotiate-auth.allow-non-fqdn 设置为 true (对于本地主机)并将域添加到 network.negotiate-auth.trusted-uris 可以解决问题,但是我想知道是否可以在 IS 中添加任何配置以避免这样做。

firefox identityserver4 .net-7.0 kestrel
1个回答
0
投票

我发现问题是我们将 Web 服务器从 HttpSys 更改为 Kestrel。改回 HttpSys 解决了问题,但理论上我们应该使用 Kestrel,因为它是 ASP.NET Core 推荐的。

© www.soinside.com 2019 - 2024. All rights reserved.