我租用一项服务(在Laravel上详细说明),但他没有我需要的功能。 我需要详细说明一个解析器。 我试图通过curl进行身份验证,但是我收到错误" TokenMismatchException"。
我该如何解决这个问题?
$laravelLoginUrl = 'http://.../login';
$token = '...';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $laravelLoginUrl);
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (X11; Linux x86_64)
AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/32.0.1700.107
Chrome/32.0.1700.107 Safari/537.36');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"email=...&password=>...&_token=" . $token);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-CSRF-TOKEN: ' . $token,
));
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-CSRF-TOKEN: ' . $token,
));
$answer = curl_exec($ch);
echo $answer;
答案 0 :(得分:1)
TokenMismatchException可能是由CSRF中间件引起的。尝试从\App\Http\Middleware\VerifyCsrfToken::class,
app\Http\Kernel.php
删除protected $middlewareGroups
,尝试停用特定路线
请注意,这会禁用所有网络路由。如果您只想为特定路由禁用它,可以转到app\Http\Middleware\VerifyCsrfToken.php
并将api/*
置于除了数组
答案 1 :(得分:0)
可能你需要获取页面正文并先解析它。因为你需要令牌吗?使用相同的标题和Cookie。
答案 2 :(得分:0)
检查此库以使用jwt令牌https://github.com/tymondesigns/jwt-auth