내 laravel 5.3 애플리케이션에서 나는 모든 Ajax 요청에 대해 글로벌하게 CSRF 검사를 가능하게했다.CSRF 체크가없는 외부 API를위한 Ajax GET
$.ajaxSetup({
headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
});
하지만 외부 API에 대한 ajax GET 요청은 다음과 같습니다.
$.ajax({
url: "https://api.xxxxxxxxxxx/v1/" +code+ "?api_key="+API_KEY,
type: "GET",
dataType: "text",
success: function (data) {
},
error: function (msg) {
}
});
여기에서 CSRF 확인을 피할 필요가 있습니다. 나는 두 가지 방법을 시도했지만 아무 것도 나를 위해 일하지 않습니다. VerifyCsrfToken.php
첫번째 방법
class VerifyCsrfToken extends BaseVerifier
{
protected $except = [
'https://api.xxxxxxxxx/v1/*'
];
}
두번째 방법
class VerifyCsrfToken extends BaseVerifier
{
if (! $request->is('https://api.xxxxxxxxx/v1/*'))
{
return parent::handle($request, $next);
}
return $next($request);
}
이 문제를 해결하는 방법을 알아 주시기 바랍니다합니다.
경로 파일을 표시하십시오. 'api.php' 파일에'api' 경로를 추가 했습니까? –
아니요, api.php에 대한 변경 작업을 수행하지 않았습니다. – Shashika