【问题标题】:Blazor app Reload after B2C authenticationB2C 身份验证后 Blazor 应用重新加载
【发布时间】:2021-12-19 01:56:38
【问题描述】:

为什么 Blazor 应用在​​ B2C 身份验证后会完全重新加载/重新启动?使用网络 6。

这里是回调:

谢谢, 迈克

【问题讨论】:

    标签: blazor azure-ad-b2c blazor-webassembly


    【解决方案1】:

    正如这里所讨论的 - https://docs.microsoft.com/en-us/answers/questions/616079/index.html

    在标准 OAuth 身份验证中,浏览器被重定向到进行登录的远程令牌服务器。令牌服务器使用 Blazor 应用程序使用 (Bearer) 访问受保护资源的访问令牌重定向回应用程序。

    【讨论】:

    • 我有点理解原因,但它会导致可怕的用户体验。登录时,在登录屏幕消失后,您可以看到应用程序通过更新页面上的 视图对成功登录做出反应,然后立即重新加载应用程序。这就像从用户下面撕掉地毯,让他们在应用重新加载时再等几秒钟......
    【解决方案2】:

    这并不能解决实际的重新加载问题(控制台仍会显示来自 OnLoginSucceed 方法的重复“登录成功”日志),但该解决方案确实提供了更无缝的用户体验。

    注册AAD B2C认证时,将LoginMode设置为“Redirect”

    options.ProviderOptions.LoginMode = "Redirect";
    

    在我注册 AddMsalAuthentication 服务时添加这一行给了我预期的行为。

    这样,当您登录身份验证屏幕时,不会弹出窗口,而是将您重定向到 AAD B2C 身份验证页面。成功后,用户只会体验一次页面刷新,并且不会出现重复刷新。

    这是我为我的应用程序采用的解决方案,我可以接受它作为我的用户体验 - 希望这为您的案例提供类似的结果。

    【讨论】:

    • 起初我更喜欢弹出窗口,但在切换到重定向后,它提供了更好的用户体验,因此决定切换。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 2018-02-17
    • 2019-10-08
    • 2021-04-22
    相关资源
    最近更新 更多