webhook設定する際の見過ごしがちな注意点

88 View

環境

php 8.2.0

laravel 9.52.14

Windows10

一般的な流れ

webhookの通知先を自分のシステム上に構築し、

対象の通知イベントも利用するAPIで決め、上記で構築した通知先を登録したらうけとりそうだと思う。

ただ実際は、

これだけじゃ、うけとれない。

みんなが見過ごしがちなこと。ヒントはwebhookでの通知は一般的にpostメソッドでうけとるということ。

そして、postメソッドで受け取る場合、Laravelではセキュリティー向上のたけ、

Csrfがはたらく。

見過ごしがちなミス

webhookでの通知ではCsrfはオフにしないとうけとれない。

そうしないとはじいてしまうからだ。

たとえばだけど、自分の場合は、ngrokでローカルのシステムも外部からhttpsで接続できるようにしているが、こんなエラーがでる。↓

今回は、これに気づいたからようやく通知は来ていて、自分のシステム側でなんかミスがおきているって気づけた。

解決策

正直、webhookの設定は何回か(stripe,paypay,など)していて毎回同じことを忘れてしまってた。

だから、もう記事に書いとくことにした。

Csrfを無効にするURLは、

プロジェクトフォルダ/app/Http/Middleware/VerifyCsrfToken.php

に下記のように記載する。

これで、しっかりと”rootURL/webhook/remote_lock”にきた通知はうけとれる。

返信がありません

コメントを残す