OAuth是一種是一種開放的標準協定,提供使用者在不需要提供使用者的帳號密碼給第三方網站的情況下,讓第三方網站可以存取私人資料的驗證方式。目前最多的應用就是可以利用諸如Google、Facebook、Yahoo、Twitter、新浪微博…等大網站的帳號登入自己寫的應用程式。
其實我個人是使用現成的套件Scribe免去很多麻煩,其他語言可以在這裡找到適用的API套件。雖然有套件可以使用,但是還是要稍微了解一下OAuth的簡易驗證流程與名詞,這樣寫程式的時候才不會一頭霧水。下面是大致驗證程序的筆記(如果有錯還麻煩告訴我一下):
1.到驗證網站註冊,取得一組 Consumer key跟Consumer secret
2.使用者點擊觸發
3.應用程式向驗證網站取得一組request token
4.應用程式利用這組request token組成一組Authorization Url並將使用者redirect去驗證網站
5.使用者在驗證網站進行驗證
6.通過後驗證網站會redirect回一組先前設置好的callback url,並送一組access token、verifier,
7.應用程式利用這組access token及verifier向驗證網站取得使用者資料。
註1:驗證網站就是Google、Facebook等提供OAuth的網站
註2:應用程式就是要取得使用者資料的程式,也就是我們要寫的程式
註3:使用者…這個應該不用說明了吧?就是使用應用程式的人
大致上這樣就完成OAuth的步驟。希望透過這些專有名詞的介紹可以幫到想要整合的人。