Magento2.3忽略Action的Csrf验证
7天成为Magento系统架构师,现在开始学习Magento全栈开发!
《Magento2.X企业级开发实战》
最近在开发一个magento支付接口插件,支付平台需要异步地把支付结果POST到magento网站.原来以为很简单的事情,只需要添加一个控制器,接收POST过来的数据,再修改订单状态即可。
在magento1.9 2.1 2.2 都很顺利地实现了。但magento2.3版本,模拟POST操作的时候一直都自动跳转到了首页,发现是Csrf验证不通过问题。
后来查了官方文档,在2.3版本,所有的控制器都默认了Csrf验证。
知道原因解决起来也简单了,官方也给出了方法,方法如下:
控制器继承接口CsrfAwareActionInterface
class Notify extends MagentoFrameworkAppActionAction implements CsrfAwareActionInterface
实现两个方法 createCsrfValidationException
和 validateForCsrf
public function createCsrfValidationException(
RequestInterface $request
): ?InvalidRequestException {
return null;
}
public function validateForCsrf(RequestInterface $request): ?bool
{
// 直接返回通过
return true;
}
文章来源于互联网:Magento2.3忽略Action的Csrf验证
如无特殊说明或标注,任何个人或组织,复制、转载、采集本站内容请注明:
本文来源于:【Magento中文网】,并添加本文地址链接。
如未按上述操作复制或转载,本站有权追究法律责任。
若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
本文来源于:【Magento中文网】,并添加本文地址链接。
如未按上述操作复制或转载,本站有权追究法律责任。
若本站内容侵犯了原著者的合法权益,可联系我们进行处理。