질문을 삭제하지 말아주세요.!
 
1
0
-1

포스트 맨을 이용하여 Restful API 설계 테스트시 articles에 글을 저장하는 테스트를 하면 정상적으로 DB에 저장이 됩니다.(p.384)
문제는 글 저장을 위한 post 전송 시 csrf token에 해당하는 field를 넣어준적이 없고 VerifyCsrfToken 클래스의 $except 프로퍼티에 아무것도 지정해 준것이 없기때문에 TokenMismatchException이 발생되어야 할 것 같은데 정상 저장 되는 이유는 무엇입니까?

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      routes/web.php 와 routes.api.php 가 나뉘어 있고 서로 다른 미들웨어 그룹이 적용됨을 알 수 있습니다. 


      https://github.com/laravel/laravel/blob/master/app/Providers/RouteServiceProvider.php#L36-L72


      web.php에 있는 라우팅에는 전부 'web'이란 별칭을 가진 미들웨어 그룹이 적용되고, api.php에 정의한 라우팅에는 전부 'api'라는 별칭을 가진 미들웨어 그룹이 적용됩니다.


      https://github.com/laravel/laravel/blob/master/app/Http/Kernel.php#L28-L43


      위 링크에서 보다시피, VeryfyCsrfToken이란 미들웨어는 'web'이란 별칭을 가진 미들웨어 그룹에 포함되어 있으므로, api.php에 정의한 라우팅에는 CSRF 보호가 적용되지 않습니다.

      1. zoomen

        감사합니다. (smile)

      CommentAdd your comment...