Tag Archives: guideline

開發LINE聊天機器人不可不知的十件事

LINE於2016年9月推出Messaging API之後,越來越多開發者投入心力設計各式各樣功能的LINE聊天機器人。然而,撰寫一個LINE聊天機器人除了要有好的應用情境之外,資訊技術上還必須注意一些重要的細節,以免設計出來的聊天機器人上線後無法正常運作。本文分享了作者自身與協助客戶或合作夥伴開發各種LINE聊天機器人所觀察到常見的問題與建議的處理方式,提供給LINE聊天機器人開發者作為參考。

第一件事:正確設定HTTPS

基於資料通訊安全的因素,在LINE平台上開發應用服務的所有資料傳送都必須透過加密通道。因此,當開發者架設LINE Messaging APIWebhook伺服器時,一定要使用HTTPS通訊協定。

在設定HTTPS伺服器時,有下列幾點必須注意的事項:

  1. HTTPS伺服器所使用的根憑證Root CA)必須是在LINE平台的白名單列表中,否則LINE平台會拒絕傳送訊息。在白名單列表中大多數的憑證都需要付費申請,但是LINE平台也支援常用的免費憑證,例如Let’s Encrypt
  2. 請勿使用已知具有安全性漏洞的協定(例如SSL v2或SSL v3)或Cipher Suite(例如SWEET32或CVE-2016-2183)。
  3. 請務必正確設定中繼憑證Intermediate certificate),以避免無法對應到根憑證而發生錯誤。這是最常見的問題通報狀況,請在設定HTTPS伺服器時多加留意。

如果HTTPS伺服器沒有正確設定成功,Webhook程式將無法收到LINE平台的任何事件訊息,並且管理者們會收到來自LINE平台的警示電子郵件,內容的錯誤原因會顯示「UNCLASSIFIED」。建議開發者在設定完成HTTPS伺服器之後,立即使用一些免費工具進行檢查,以確保HTTPS伺服器的可用性。這些免費工具舉例如下: