【发布时间】:2021-11-28 04:09:07
【问题描述】:
我们有一个新的 Blazor WASM 应用程序,它使用 Microsoft 提供的默认模板对 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>
其他 SPA 应用似乎可以设置 checkSessionInterval 属性,但我找不到 Blazor 的属性?
所以我的问题是:
- checkSession IFrame 是否应该如此频繁地检查(少于每秒)
- 有没有办法设置间隔?
- 有没有办法将其关闭并手动执行?
【问题讨论】:
-
你找到解决循环的方法了吗?我在 blazor wasm 中也看到了相同的 1 秒 checksession iframe 循环。
-
@gilm0079 不,我们没有找到任何答案,并且真的只是接受了它,因为它正在做它应该做的事情并且无法更改配置。
-
感谢您的回复。我在另一个使用 angular 的项目中遇到了类似的问题。它使用了 oidc-client-js 库。我想我能够在检查会话的那个库中设置一个间隔来减慢它。我会继续寻找是否可以对 blazor wasm auth 库执行相同的操作。
标签: c# .net blazor openid-connect webassembly