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

.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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。