Q&A

LINE Bot callback exception: Invalid API signatureが発生する

前提・実現したいこと

Spring BootにてLINE BOTアプリ開発

発生している問題・エラーメッセージ

下記リクエストを受信時に400 Bad Requestエラーが発生しています。

2021-10-18 11:09:31.567 DEBUG 67935 --- [nio-8081-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [POST /callback HTTP/1.1 Host: ****.ngrok.io User-Agent: LineBotWebhook/2.0 Content-Length: 63 Content-Type: application/json; charset=utf-8 X-Forwarded-For: 147.92.150.194 X-Forwarded-Proto: https X-Line-Signature: **** Accept-Encoding: gzip

{"destination":"****","events":[]}]

エラーログ

2021-10-18 11:09:31.644 DEBUG 67935 --- [nio-8081-exec-1] com.linecorp.bot.parser.WebhookParser : got: {"destination":"****","events":[]} 2021-10-18 11:09:31.646 INFO 67935 --- [nio-8081-exec-1] c.l.b.s.b.i.LineBotServerInterceptor : LINE Bot callback exception: Invalid API signature

該当のソースコード

https://github.com/aka-ao/spring-boot-app-with-line-bot

試したこと

下記のLINEから提供して頂いているSDKで動作確認したところ上記と同様のリクエストも正常に処理できました。 また、上記の「該当のソースコード」ではJava、Spring、line-bot-sdkのバージョンのいづれも同じものを使用しています。 https://github.com/line/line-bot-sdk-java

補足情報(FW/ツールのバージョンなど)

Java 1.8.0_302 Speing-boot 2.5.4 line-bot-spring-boot 4.5.0(4.6.0でも同じ結果でした)

  • 0
  • 2
  • 980
  • twitter facebook

Curryさん ご回答ありがとうございます。 シークレットは正しいことが確認できましたが、事項の際にやはり上記のエラーが出ていました。試しにシークレットを再発行して設定値を入れ直したところ処理が正常に行えるようになりました。 シークレットは有効期限や複数アプリからの使用制限などはあるのでしょうか?

  • 0

Signature の検証は channel secret を用いて行われます。 line.bot.channel-secret が、正しい値になっているかを確認してください。 channel secret は、Developer Center から取得可能です。

  • 1
本当によろしいですか? question.vm