PHP CURL Логин для Larvel - PullRequest
       0

PHP CURL Логин для Larvel

0 голосов
/ 12 марта 2019

В следующем коде я реализовал автоматический вход в систему и установил сеанс с помощью CURl.Но не буду проверять подлинность.Кто-нибудь объяснит мне аутентификацию laravel с использованием PHP CURL.

$url = 'http://localhost/site/login'; (Laravel Login URl)

$username = 'xxx@xxx.com';  

$password = 'password'; 

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

$output = curl_exec($ch);

$info = curl_getinfo($ch);

curl_close($ch);

Я получаю сообщение "419 Извините, ваш сеанс истек".Как передать токен laravel CSRF с помощью curl в одном домене между ядром php и laravel.

1 Ответ

3 голосов
/ 13 марта 2019

Laravel 5 с cURL:

Используйте '_token' => csrf_token () для CSRF laravel

Также вы можете отключить проверку csrf на конкретном маршруте к app/Http/Middleware/VerifyCsrfToken.php класс

    protected $except = [
        'custom/login'
    ];

вне приложения Laravel:

    $attr = [
       'username' => $username,
       'password' => $pass
    ];
    $curl = curl_init();
    // Set some options - we are passing in a useragent too here
    curl_setopt_array($curl, [
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => 'http://testcURL.com/custom/login',
        CURLOPT_USERAGENT => 'login',
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $attr
    ]);
    $resp = curl_exec($curl);
    curl_close($curl);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...