azure - 具有 Azure B2C 身份验证的 Blazor 服务器应用程序在返回导航时引发异常

标签 azure google-chrome cookies blazor azure-ad-b2c

我已经实现了一个使用 Azure B2C 进行身份验证和授权的 Blazor 服务器应用程序项目。

问题是,当我从 Google Chrome 导航到应用程序,然后导航到浏览器的上一页时,Google Chrome 的行为与 Firefox 不同。 Firefox 导航回来没有错误,但 Google Chrome 重定向了我 到此页面

enter image description here

我还检查了我的应用程序日志,发现了以下未处理的异常

警告:Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler[15] 找不到“.AspNetCore.Correlation.k3N-jORFKYdELX1dInIv2C_hsBx7-R0tox2Ctj9zUtc”cookie。

我在 Program.cs 上的 Azure B2C 配置是

builder.Services.AddMicrosoftIdentityWebAppAuthentication(builder.Configuration, "AzureAdB2C")
                .EnableTokenAcquisitionToCallDownstreamApi(new string[] { builder.Configuration["TodoList:TodoListScope"] })
                .AddDistributedTokenCaches();

我该如何处理这个错误?

提前致谢。

最佳答案

Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler[15] '.AspNetCore.Correlation.k3N-"<------->' cookie not found.

在针对本地主机使用 Chrome 时,Chrome 的 cookie 处理行为会发生变化,从而发生此错误。

在 Chrome 开发者工具中,Cookie 的 SameSite 值可能会设置为“无”,但它不安全> 这可能会导致相关 cookie 被浏览器删除

在Startup.cs>ConfigureServices方法中:您需要添加

app.UseCookiePolicy(new CookiePolicyOptions
{
    Secure = CookieSecurePolicy.Always
});

对于同站点进程还有另一个选项,您需要使用SameSiteMode.Lax

app.UseCookiePolicy(new CookiePolicyOptions()
{
    MinimumSameSitePolicy = SameSiteMode.Lax
});

引用: c# - Correlation failed in net.core / asp.net identity / openid connect - Stack Overflow

关于azure - 具有 Azure B2C 身份验证的 Blazor 服务器应用程序在返回导航时引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73471575/

相关文章:

java - 如何增加 Azure 应用服务中托管的 Java Spring Boot 应用程序的最大 HTTP header 大小(部署为 .WAR)?

sql - 将 Azure bacpac 文件导入本地数据库时出错 EXTERNAL 附近的语法错误

google-chrome - 网站在浏览器中返回“CSI/tbsd_”和“CSI/_tbnd”错误

javascript - 如何调试在 Razor View 中定义的模态对话的 document.ready Javascript?

javascript - Chrome 扩展 - 单击浏览器操作后将 css 注入(inject)页面

python - Azure Function 中没有这样的文件或目录

azure - 无法注册 Windows Azure

asp.net - 如何设置表单例份验证 cookie 路径

python - 如何使用 Python Requests 库或 PyCurl 使用以前的 cookie 进行 POST?

python - 如何清除scrapy中的cookies?