第三方API不支援localhost,怎麼辦?

在套用第三方API時,像是從Facebook撈資料、從Google撈資料、從Twitter撈資料,在驗證身份的流程中,通常第三方會要求你去登記、並設定一個redirect的網址。

以我的經驗來說,Facebook跟Google在這方面是比較友善的,網址可以設定為localhost,在本機開發與測試很方便。

但是像Yahoo跟Microsoft就比較嚴格:他們不接受localhost

這時候該怎麼辦呢?

我找到的solution是這個:

Ngrok

安裝與使用非常容易,我Ubuntu下載完之後,只輸入兩行指令

$ unzip /path/to/ngrok.zip

$ ./ngrok 80

就得到一個公開網址了。

Tunnel Status online
Version 1.3/1.3
Forwarding http://3a4bfceb.ngrok.com -> 127.0.0.1:80
Forwarding https://3a4bfceb.ngrok.com -> 127.0.0.1:80
Web Interface http://127.0.0.1:4040
# Conn 0
Avg Conn Time 0.00ms

他會將送到http://3a4bfceb.ngrok.com(每個人會有一個隨機網址)的request全部轉送到本機的server,實在非常方便。

(Photo via Ngrok