asp.net-core - 最近,identityserver 4 auth 开始不断访问授权和静默更新端点

标签 asp.net-core identityserver4 asp.net-core-3.1 oidc-client-js

我们有 3 个应用程序:客户端 (React/SPA)、API (ASP.NET CORE 3.1) 和 Auth(带有 IdentityServer 4 的 ASP.NET CORE 3.1)。

最近,该应用程序开始不断进行看似无声的更新。客户端应用程序加载后,我可以在网络选项卡中看到它立即命中身份服务器上的授权端点,然后我看到应用程序上的 iframe 中静默更新页面加载,然后它命中身份服务器上的 token 端点身份服务器,然后是用户信息,它只是不断循环通过这个序列 - 永远不会停止。过一过。我们使用 redux-oidc,它在 oidc-client 上运行,我可以在控制台中看到这不是由 redux-oidc 完成或处理的。我还可以在处理 usermnanager 上的事件时看到我的 token 没有过期,因此它似乎也没有启动此操作。我们的身份服务器上也有 Samesite=none ,对于从那里出来的 cookie 也具有安全属性,因为我认为这可能是问题所在,但这种情况仍然在发生。

还有其他我们应该关注的吗?为什么最近突然开始发生这种情况 - 我们甚至将代码备份到一个多月前的版本,但问题仍然发生,因此我们不知道我们所做的任何代码更改可能会导致此问题我相信这在上周才开始发生。

最佳答案

HttpOnly 是添加到 cookie 中的一个标志,告诉浏览器不要通过客户端脚本显示 cookie。当您使用 HttpOnly 标志设置 cookie 时,它​​会通知浏览器该特殊 cookie 只能由服务器访问。

但是 JS/SPA 客户端的 OIDC session 管理规范需要该 cookie。如果你改变它,你就会破坏这些类型的客户。这是设计使然,请检查规范 https://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification

所以你很好,因为不需要将 HttpOnly 设置为 true。

关于asp.net-core - 最近,identityserver 4 auth 开始不断访问授权和静默更新端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63711189/

相关文章:

mysql - 包 MySql.Data 6.9.8 与 netcoreapp1.0 不兼容

asp.net-core - IdentityServer4 Windows身份验证和ASP.Net Core MVC客户端 "Hello World"

identityserver4 - 根据客户定制的登录页面

c# - 如何将正文中的null传递给asp.net core 3.1中的终结点

c# - EF Core 3.1 流畅的 API

git - 使用 git 部署到 Azure 时,如何在我的 asp.net core 项目中运行 gulp.js?

asp.net - 如何使用 IIS 阻止机器人?

c# - 使用 MVC Controller 重载

identityserver4 - 身份服务器 4 错误 "keyset is missing"

c# - ASP.NET Core 3.1 中基于角色的授权,带有 Identity 和 ExternalLogin