aierda 2023-04-03 19:43 采纳率: 72.1%
浏览 195
已结题

.NetCore部署后出现“无法解密防伪令牌”问题

问题描述:我的ABP解决方案中,有两个WEB项目(.NetCore6),两者之间是通过
https进行通讯的。在vs中进行测试是完全没有问题的,但是部署到IIS
上面去就出现问题了。
报错内容:
AspNetCore.Antiforgery.DefaultAntiforgery - An exception was thrown while deserializing the token.
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery token could not be decrypted.

大概意思是:反序列化令牌时抛出异常,无法解密防伪令牌
我是通过oppssl命令首先生成了一个证书,然后在IIS中进行导入操作,部署这两个网站时,都是选择https协议的,
并且指定同一个导入的证书。
百度了很久,尝试了很多方式,都是无效
提问:不知各位有没有遇到过这种问题,求有效的解决方案,谢谢!

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2023-04-06 00:35
    关注

    以下内容部分参考ChatGPT模型:
    首先,这个问题的根本原因是无法解密防伪令牌,可能是因为生成的证书有问题,或者是证书在部署过程中没有正确配置。

    解决方案:

    1. 检查证书

    首先,检查证书是否正确生成并导入到IIS中。可以使用以下命令检查证书的有效期和信任链:

    openssl x509 -in cert.crt -text -noout
    

    如果证书有问题,请重新生成证书并重新导入到IIS中。确保证书可以被信任,并且在IIS中正确配置了证书绑定。

    1. 检查防伪令牌

    检查防伪令牌所使用的密钥是否正确设置。可以使用以下代码检查密钥:

    services.AddAntiforgery(options =>
    {
        options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
        options.Cookie.SameSite = SameSiteMode.None;
        options.Cookie.HttpOnly = true;
        options.Cookie.Name = "XSRF-TOKEN";
        options.HeaderName = "X-XSRF-TOKEN";
        options.SuppressXFrameOptionsHeader = false;
    
        options.ValidationAlgorithm = "AES";
        options.ValidationKey = Encoding.UTF8.GetBytes("my_super_secret_validation_key");
    });
    

    确保ValidationKey的值与防伪令牌的密钥匹配。

    1. 检查HTTPS设置

    确保在部署过程中正确配置了HTTPS设置。可以使用以下代码确保所有请求都使用HTTPS:

    app.UseHttpsRedirection();
    
    1. 检查Cookie设置

    确保在部署过程中正确配置了Cookie设置。可以使用以下代码确保Cookie的SecurePolicy、SameSite和HttpOnly属性正确设置:

    services.Configure<CookiePolicyOptions>(options =>
    {
        options.CheckConsentNeeded = context => true;
        options.MinimumSameSitePolicy = SameSiteMode.None;
        options.Secure = CookieSecurePolicy.Always;
        options.HttpOnly = true;
    });
    

    以上是一些可能的解决方案。如果以上方法都无法解决问题,请检查其他可能的问题,例如防火墙设置、反向代理设置等。
    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 4月3日

悬赏问题

  • ¥15 如何输入双曲线的参数a然后画出双曲线?我输入处理函数加上后就没有用了,不知道怎么回事去掉后双曲线可以画出来
  • ¥50 WPF Lidgren.Network.Core2连接问题
  • ¥15 soildworks装配体的尺寸问题
  • ¥100 有偿寻云闪付SDK转URL技术
  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化