CSRF跨多个应用程序/服务

时间:2016-11-04 16:44:46

标签: php angularjs laravel angular csrf

我在同一个域下有2个应用程序,1个从带有Laravel 5.2后端和PHP的PHP 5.6服务器运行。 Angular2前端,另一个是带有平面javascript前端的PHP 5.3服务器上的自定义框架。在每个应用程序中,我都有一个csrf令牌。较旧的服务器(5.3)有一个自定义的csrf生成器,但是laravel使用了laravel的VerifyCsrfToken.php中间件。

我偶尔需要从angular2前端调用旧的API,但csrf标记不匹配。如何在laravel中实现自定义csrf令牌生成器?

1 个答案:

答案 0 :(得分:0)

您可以创建OldTokenClass并将令牌传递给您的所有观看次数。但是,我很难根据您提供的信息推测OldTokenClass中的内容。从本质上讲,您应该能够从该类生成或获取旧的app令牌。

这样的东西
//Route
use App\Service\OldTokenClass;

view()->composer('*', function ($view) {
    $tokenGen =  new OldTokenClass();

    return $view->with('old_crsf_token', $tokenGen->get());

});

然后在您的视图布局中,您可以执行类似

的操作
    <meta name="old-csrf-token" content="{{$old_crsf_token}}">

并使用角度。