c# - Blazor Wasm 授权状态记录多次

标签 c# jwt blazor identityserver4 openid-connect

我目前正在开发一个使用来自 API 的数据的 Blazor Webassemble 应用程序。这两个应用程序均由 IdentityProvider (IdentityServer4) 保护:

  • Blazor Wasm 应用程序 (Oidc)
  • API
  • IdentityServer4

它工作正常,我可以登录、注销并检索正确的数据。

我遇到了 1 个问题:

info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[1]
      Authorization was successful.

这条消息会从 blazor.web assembly.js:1 记录多次,基本上每次我进行页面转换或在网格上加载数据或实际上任何其他可能的事件时。

在我看来,这就像从 Blazor 应用程序返回到 IdentityServer4 的永久往返。

您知道为什么此日志消息会多次出现吗?

如何解决这个问题?

最佳答案

How can I solve this issue?

忽略它。这里没有问题。

It looks to me like a permanent roundtrip from the Blazor app back to the IdentityServer4

一点也不。像这样的消息:

info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[1] Authorization was successful.

当您尝试访问 protected 资源(由 Authorize 属性注释)时由授权服务发出,并调用它来检查您是否有权访问 protected 资源。在 Blazor 客户端中,使用 Authorize 属性注释 Counter 页面,运行应用程序,然后交替从 Index 页面导航到 Counter 页面(经过身份验证后),您会注意到每次尝试导航到 Counter 页面时上面的消息将加一(在消息的左侧)。再次,这是因为正在调用授权服务来检查您是否有权访问 protected 资源......这是设计使然。您只进行一次身份验证,但会一次又一次地被监视,当然不是没有原因的,而且即使这样也并不总是成功。

关于c# - Blazor Wasm 授权状态记录多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66029743/

相关文章:

c# - UOW + Repository + Autofac 加载两个不同的 DbContext

C# 是否存在异常 ID

c# - Azure 上的 Hadoop 示例生成空白文件

java - JWT 识别 token 类型(刷新或访问)

node.js - 验证错误 : "expiresInMinutes" is not allowed NodeJs JsonWebToken

javascript - jsonwebtoken 中的有效负载错误

Blazor 共享 UI toastr 组件

visual-studio - 如何关闭 Razor 文件中 at 符号 (@) 的 Visual Studio 背景突出显示?

c# - Xamarin SQLite.Net PCL——什么是保持域模型没有 sqlite 属性的好选择?

c# - 浏览器关闭后 ASP.NET Core Auth 不会保持登录状态 (Azure AD B2C)