在我设置了从github到laravel网站的webhook后,其中一个页面停止工作。(控制面板(
如果我从Github中删除webhook,页面就会重新开始工作。
症状要么是错误419页面过期,要么是尝试登录后根本无法加载页面。
有线索吗?我想这可能与VerifyCsrfToken异常有关,但我不知道如何在其中添加github webhook。
github 中Webhook的图像
感谢Vinny展示Github webhooks设置的照片。要解决您的问题,您需要执行以下三个步骤:
- 您需要在
Content-Type
选项中选择APPLICATION/JSON
Github Webhook。由于Laravel不包括VerifyCSRFTokenJSON中间件 - 请确保您使用的是
api
中间件组。为此,您需要在api.php
中定义此端点NOT在web.php
中 - 定义后,您可以通过前缀
/api
、域名和api.php
中定义的路径来确认您的端点
有关更多上下文,您可以访问此文档URL。https://laravel.com/docs/8.x/middleware#middleware-分组
注意:我建议使用签名验证,以避免对端点和webhook触发器的错误使用。要做到这一点,你可以关注这篇漂亮的文章
https://dev.to/ryan1/how-to-validate-github-webhooks-with-laravel-and-php-2he1