Blazor WebAssembly 身份验证事件

Zac*_*ack 8 asp.net-core azure-ad-msal blazor-client-side microsoft-graph-api

使用 Microsoft.AspNetCore.Components.WebAssembly.Authentication 对用户进行身份验证时,在 ASP.NET Core(最新版、blazor)上托管的客户端应用程序上的 Blazor Web assembly 应用程序中,每次用户访问时何时/如何调用操作已验证?即使他们返回应用程序并进行活动会话。

2020-07-15 更新: 我试图克服的问题是,我们有一项服务,一旦用户登录 (MSAL) 即可访问 Graph API 以获取其信息和个人资料图像。他们登录后,我使用 RemoteAuthenticatorView.OnLogInSucceeded 事件来了解他们实际登录的时间。问题是,如果他们刷新页面 (F5),服务就会丢失图形信息。我想我实际上想要实现的是保存会话数据。

Zac*_*ack 2

为了克服这个问题,到目前为止,我解决了使用 LoginDisplay 组件的 razor 中的 Authorized 部分的解决方法,触发服务检查服务用户信息是否为空,然后再次转到 Graph,而不是尝试存储在本地存储中或类似的东西...然后,我让用户信息显示组件订阅服务中的事件,以了解何时需要更新用户信息以调用 StateHasChanged()。

如果有更好的解决方案来跨页面刷新持久保存服务数据,我会全力以赴。