AzureFunctions上でMessagingAPIを使ったBOTを試す際に、署名の検証ではまった所
今までAzureFunctionsを使ったことのなかったので
@yorifuji さんの
LINE Messaging APIでX-Line-Signatureの署名検証を行う(AzureFunctions/Node.js)
とかを参考にLineのMessaginAPIを使ってBOTを作るにあたり、メッセージの署名検証ではまった所を記載します。
request内のbodyではなくてrawBodyを使う
上記の記事ではrequestのbodyを利用して検証をしていましたが、bodyではなく、rawBodyの方(bodyの文字列)を利用しないと、最終的なhashがメッセージ内のsignatureと一致しないため、検証失敗することがわかりました。
細かなところですが、かなりはまったので、備忘録てきなメモで。
まぁ、素直に、LINEのnode.js用のsdkでも使っておけって言われそうですけどね。