Forms 从其他服务器注册到Laravel

Forms 从其他服务器注册到Laravel,forms,laravel,laravel-5.3,csrf,Forms,Laravel,Laravel 5.3,Csrf,我想在网站上显示注册表单,但当用户点击submit时,表单数据将发布到Laravel应用程序(另一台服务器上)进行注册 到目前为止,laravel停止抛出CSRF not found异常。你知道如何解决这个问题吗?如果两个应用程序都是你的 您可以创建一个新的中间件组: protected $middlewareGroups = [ 'web' => [ ... ], 'remote-login' => [ \App\H

我想在网站上显示注册表单,但当用户点击submit时,表单数据将发布到Laravel应用程序(另一台服务器上)进行注册


到目前为止,laravel停止抛出CSRF not found异常。你知道如何解决这个问题吗?

如果两个应用程序都是你的

您可以创建一个新的中间件组:

protected $middlewareGroups = [
    'web' => [
        ...
    ],

    'remote-login' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            // \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],
];
评论/删除/禁用VerifyCsrfToken中间件。然后将其映射到新文件:

protected function mapWebRoutes()
{
    Route::middleware('web')
         ->namespace($this->namespace)
         ->group(base_path('routes/web.php'));

    Route::middleware('remote-login')
         ->namespace($this->namespace)
         ->group(base_path('routes/remote-login.php'));
}
然后在
路由/remote login.php
中,您最好创建一个非平凡的登录路由:

Route::group(['prefix' => 'remote-login'], function () {
    Route::get('/auth/8g7h6jk5l4oA/', function () {
        dd('do you authentication');
    });
});

如果两个应用程序都是您的

您可以创建一个新的中间件组:

protected $middlewareGroups = [
    'web' => [
        ...
    ],

    'remote-login' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            // \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],
];
评论/删除/禁用VerifyCsrfToken中间件。然后将其映射到新文件:

protected function mapWebRoutes()
{
    Route::middleware('web')
         ->namespace($this->namespace)
         ->group(base_path('routes/web.php'));

    Route::middleware('remote-login')
         ->namespace($this->namespace)
         ->group(base_path('routes/remote-login.php'));
}
然后在
路由/remote login.php
中,您最好创建一个非平凡的登录路由:

Route::group(['prefix' => 'remote-login'], function () {
    Route::get('/auth/8g7h6jk5l4oA/', function () {
        dd('do you authentication');
    });
});

Antonio的方法会起作用,但只需将您不希望受CSRF中间件保护的路由添加到
$中就更容易了,除了
app/Http/middleware/VerifyCsrfToken.php中的
数组之外,但是,只需将您不希望受CSRF中间件保护的路由添加到
app/Http/middleware/VerifyCsrfToken.php中的
$数组中就更容易了,忽略登录页面上的crsf令牌,将
/login
添加到
中,除了
Http/Middleware/VerifyCrsfToken.php
中的
数组中。请注意,CRSF令牌是有原因的,这可能有助于让不需要的人更容易访问您的站点。创建用于注册的API并从站点调用该API如何。。。。检查此API指南忽略登录页面上的crsf令牌,将
/login
添加到
中,除了
Http/Middleware/VerifyCrsfToken.php
中的
数组中。请注意,CRSF令牌是有原因的,这可能有助于让不需要的人更容易访问您的站点。创建用于注册的API并从站点调用该API如何。。。。检查此API指南