Lステップ(https://linestep.jp/)
というサービスを利用しているのですが、ほしい機能に対応していないので、その機能だけ別システムで開発しようと考えています。
ですが、Webhookは複数は設定できなさそうなので、下記のように中継する方法を取ろうと思っています。
現状:
LINE
=> LineStepWebhook(https://rcv.linestep.net/v2/123123 )
改善後:
LINE
=> 新規開発Webhook( http://hoge.com/webhook ) ここで、とある機能を実装する
=> LineStepWebhook( https://rcv.linestep.net/v2/123123 )
ただ、LINEの公式ドキュメントを読んでみると「リクエストがLINEプラットフォームから送られたことを確認するために、ボットサーバーでリクエストヘッダーのx-line-signatureに含まれる署名を検証します。」と書かれており、LINEプラットフォームからのWebhookでないと許可しないような対策が取られているようです。
→参考:署名を検証する
このような対策が取られている場合、自社のシステムを経由してからWebhookを転送することは厳しいでしょうか?
もし何か方法があれば是非ご教授いただきたいです。
▼Lステップ側にWebhookを転送するコードを追記いたしました。▼
javascript
const functions = require('firebase-functions')const req = require('request') exports.loa_webhook = functions .region('asia-northeast1') .https.onRequest((request, response) => { // //////////////////////////////////////// // LOAから受信したイベント // /////////////////////////////////////// const event = request.body console.log(event) // /////////////////////////////////////// // LステップにWebhookを送る // /////////////////////////////////////// const lstep_webhook_url = 'https://rcv.linestep.net/v2/123123' var options = { url: lstep_webhook_url, method: 'POST', form: event, } req(options, (error, response, body) => { if (error) { console.log(error) } else { console.log("POST成功") } }) })
0 コメント