首页 > 解决方案 > ASP.Net Core 为我的应用程序处理了太多 cookie

问题描述

我有一个测试应用程序,用于测试与我的 WSO2 Identity Server IDP 的集成。当它自己运行时,它工作得很好。它制作了一个.AspNetCore.Antiforgerycookie和一个.AspNetCore.Cookiescookie。防伪cookie为190字节,主cookie为3.7K字节。

但是,如果我先登录到另一个应用程序,然后加载我的测试工具页面,它会获得 4 个额外的 cookie:

这些额外的 cookie 使我超出了某种限制,因为页面加载时出现以下错误(而不是我的应用程序):

错误请求 - 请求太长
HTTP 错误 400。请求标头的大小太长。

我不知道如何查看这些附加 cookie 中的内容,因为它们是 base 64(我认为它们是加密的)。

我的问题是,为什么 ASP.Net 核心会因为我登录到另一个站点(使用相同的 WSO2 IDP,但使用不同的 OIDC 应用程序)而添加这么多额外的 cookie?我可以防止它发生吗?

补充说明:

标签: c#asp.net-corecookiesasp.net-core-3.1

解决方案


当您的用户身份声明过多时,通常会发生这种情况。您可能会尝试修改您的应用程序,以便它仅在声明中保留有关您的用户的最常用信息,并为其他人进行按需查找。


推荐阅读