2016-11-04 42 views
0

我有兩個應用程序在同一個域下運行,1個PHP 5.6服務器運行Laravel 5.2後端& Angular2前端,另一個在帶有平坦javascript前端的PHP 5.3服務器上定製框架。在每個應用程序中,我都有一個csrf標記。較舊的服務器(5.3)有一個自定義的csrf生成器,但laravel使用laravel的VerifyCsrfToken.php中間件。跨多個應用程序/服務的CSRF

我偶爾需要從angular2前端調用舊API,但csrf標記不匹配。如何在laravel中實現自定義csrf標記生成器?

+0

令牌在Laravel或其他框架中不匹配? – Wistar

+0

laravel csrf匹配angular2 csrf,但這兩者都需要匹配其他框架的csrf – Katie

回答

0

您可以創建一個OldTokenClass並將令牌傳遞給所有視圖。然而,我很難用你提供的信息來猜測OldTokenClass應該是什麼。從本質上講,您應該能夠從該類生成或獲取舊的應用程序令牌。

喜歡的東西

//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}}"> 

,並與角度使用。

相關問題