Blazor WASM CheckSession循环



我们有一个新的Blazor WASM应用程序,使用微软提供的默认模板对IdentityServer4进行身份验证,除了我不确定CheckSession iframe是否正常工作,因为它一直在无限循环中运行。

所以从我的理解认证库生成一个CheckSession IFrame,然后创建另一个IFrame检查会话对IdentityServer,但这不断这样做每秒(也许甚至更少),我的理解是,它应该这样做吗?然而,我本以为会有一种方法来设置间隔检查的频率,但我似乎找不到。

iframe生成:

<iframe src="http://localhost:5000/connect/checksession" style="visibility: hidden; position: absolute; display: none; width: 0px; height: 0px;"></iframe>

哪个实习生每秒生成另一个iframe:

<iframe src="http://localhost:5000/connect/authorize?..." style="visibility: hidden; position: absolute; display: none; width: 0px; height: 0px;"></iframe>

看来其他水疗中心应用程序有能力设定一个checkSessionInterval Blazor属性但是我找不到一个吗?

我的问题是:

  1. 是checkSession IFrame应该经常检查(少于每秒钟)
  2. 有办法设置间隔吗?
  3. 甚至有一种方法来关闭它,手动做吗?

看起来我能够让我的WASM项目稳定。不确定这将帮助你,但是我认为我的主要问题是blazor是如何引导的。它可能试图在页面上运行两个blazor wasm实例。这可能导致认证者相互争斗并创建循环。

我确实有一个用页面上的render-mode属性装饰的组件元素来引导blazor,但似乎通过声明应用程序根组件指向页面上的div来引导blazor的效果更好。

builder.RootComponents.Add<App>("#app");

最新更新