iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 23
0
Modern Web

從零開始認識 Node.js系列 第 23

[Day 23] 動手篇 - 等等!什麼是 Webhooks?

Koa

前言

這兩天 Node.js 發佈 v0.12 、 v7 的更新,分別是 v0.12.18 、 v7.3.0 ,此外官方也提醒 v0.12 很有可能是最後一次更新,因為 v0.12 預計只支援到今年 ( 2016 ) ,尚未升級的朋友是該評估升級的必要性!

本文開始

前面已經完成 Koa 的基本建置、測試環境的撰寫,這篇來說說 Line Bot 是怎麼運作?關鍵就 Webhooks ,它是什麼?簡單說就是 Client 端與服務間多了一個中介而這想法已經成為一個顯學,如:

Github 寫了一篇官方手冊,其他還有像 SlackFacebook 等,其他有興趣可以自己找找看。

而在實作 Webhooks 時要注意各家對 request header 的要求不盡相同,以為例 Line Bot 的要求比較少,

  1. 使用 HTTPS 送 POST Request
  2. Reuqest 的 header 要帶 Authorization 欄位,內容為頻道的 secret key ( 需使用 HMAC-SHA256 + Base64 )
  3. 取 Request header 的 X-Line-Signature ,然後與 Authorization 的 secret key 比對
    http://ithelp.ithome.com.tw/upload/images/20161222/201023423K32VNBabE.png
  4. 比對一致則 statuCode 回傳 200
    http://ithelp.ithome.com.tw/upload/images/20161222/20102342d897h2W4wr.png

後記

這邊小卡關,希望下次寫稿前可以找到答案!也希望明天有 1 小時寫稿,最近分身乏術 XD"


上一篇
[Day 22] 動手篇 - Please give me Mocha (2)
下一篇
[Day 24] 動手篇 - 停!XMLHttpRequest or Fetch API
系列文
從零開始認識 Node.js31

1 則留言

0
SunAllen
iT邦高手 1 級 ‧ 2016-12-23 12:21:58

/images/emoticon/emoticon31.gif

要看要看

我要留言

立即登入留言