7個小時與Linkedin OAuth的戰鬥
最近接了一個case,case的其中一項目標是要實踐使用Facebook, Gogle, Linkedin來登入網站。
上網查了一下,有朋友推薦使用 oauth.io 這個服務。號稱可以幫你整合Facebook, Google, Linkedin, Yahoo, Twitter.....所有你想得到的OAuth Provider,於是就很開心的申請一個帳號來用。free版一個月可以接受1000次不同帳號的OAuth API操作,對一個小網站來說應該是很夠用了。因此就不假思索的開始研究。
不得不說,OAuth.io 很簡單,照著官方網站的操作把Facebook, Google, Linkedin的Private key和Domain指到OAuth.io,最後利用OAuth.io的javascript Library取得access_token。就可以向Service Provider取得資料授權。
花了15分鐘把Facebook搞定,花了另外15分鐘把Google搞定,確定可以取得access_token,But……人生很多問題就出在這個But啊
設定Linkedin授權給OAuth.io後,熊熊發現,為什麼Linkedin的access_token長得和別人不一樣?

是的,沒有為什麼,那是因為,明明Linkedin已經使用了OAuth2.0,但是OAuth.io並只支援到OAuth1.0啊。
接下來就是悲劇的開始,現在眼前面臨了兩個選擇 1. 研究OAuth1.0,利用OAuth1.0來完成授權 2. 放棄OAuth.io for linkedin,手動利用OAuth2.0授權