Bot

Bot Callback (メッセージの受信)の署名検証がFalse、なぜ!

km_ae4da8

2023.10.23既読 303

受信したものをエコーさせるBotをPythonで作成してます。署名検証を除けば、、動作をしました。

「Callback (メッセージの受信) (https://developers.worksmobile.com/jp/docs/bot-callback?lang=ja)」での署名検証で、リクエストヘッダーのX-WORKS-Signatureが生成されたsignatureと一致しません。

headers_signature = "TGfINP5tQhENF0FIfoVvPfEYAp+bO5gnPabekx/cP1c="
bot_secret = os.environ["LW_API_BOT_SECRET"]
body = '{"type":"message","source":{"userId":"....","domainId":....},"issuedTime":"2023-10-23T00:33:27.954Z","content":{"type":"text","text":"info"}}'

hash = hmac.new(bot_secret.encode('utf-8'),
body.encode('utf-8'), hashlib.sha256).digest()
signature = base64.b64encode(hash)
# Compare X-WORKS-Signature request header and the signature
print(signature)

#b'Nh61pL8i+vrzorzpivb+Rf13NuFisrUA4KaopZYqDe8='

ここで説明している同じ方法で、X-WORKS-Signatureは生成されているのでしょうか?

コメント1

  • 업데이트 된 답글입니다.

    km_ae4da8 投稿者

    解決済み。bot_secretのコピーミス。

    2023.10.24

    1
前の投稿 位置情報アクションボタンをクリックすると2つの地図画面が表示されてしまいます
次の投稿コンテンツアップロードのアップロードURLの取得でfileName is invalid
リスト

まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。