dkplus/csrf-api-unprotection-bundle

禁用所有匹配给定表达式的URL的CSRF-token验证。

v2.2.1 2019-01-10 09:27 UTC

This package is auto-updated.

Last update: 2024-09-10 21:34:11 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Dependency Status HHVM Status Latest Stable Version Latest Unstable Version SensioLabsInsight

在开发无状态的REST-API时,您不需要CSRF令牌验证。幸运的是,FOSRest 提供了禁用它的能力

如果没有为所有API用户设置ROLE,则此解决方案不起作用。

此Bundle根据请求的URL禁用CSRF令牌验证。因此,如果您的API有一个全局前缀如/api/,您可以为所有API表单禁用CSRF令牌验证。

安装

步骤1:下载Bundle

此Bundle的安装使用composer。它要求您全局安装Composer。有关Composer文档,请参阅getcomposer.org

打开命令行,进入您的项目目录,并执行以下命令以下载此bundle的最新稳定版本

composer require dkplus/csrf-api-unprotection-bundle

步骤2:在您的AppKernel中启用Bundle

然后,通过在您的项目的app/AppKernel.php文件中添加以下行来启用bundle

<?php
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // …

            new Dkplus\CsrfApiUnprotectionBundle\DkplusCsrfApiUnprotectionBundle,
        );

        // …
    }

    // …
}

这就是您需要的一切 :-)

配置

默认配置禁用了以/api/开头的所有uris的CSRF令牌验证,无论您使用的是哪个环境。

dkplus_csrf_api_unprotection:
    rules:
        match_uri:
            - "#^(/app(_[a-zA-Z]*)?.php)?/api/#"