我理解的OAuth 1.0a 的驗證過程


故事梗概:

淘寶店主糖糖在京郊倉庫存了一批大白兔奶糖,為了防止倉庫鑰匙被偷把倉庫的鑰匙交給了專業的鑰匙保管員公司。 糖糖賣了一斤大白兔需要快遞公司的小迪送貨。快遞員小迪找鑰匙保管公司借鑰匙,然后去京郊倉庫去取貨。

 

出場人物:

快遞公司的小迪 -------OAuth服務的消費者,也就是這個故事的主角

鑰匙保管公司 ------ OAuth 服務提供者

淘寶店主 糖糖 ------- 最終用戶

 

背景:

最近治安一直不好,經常發生被盜事件。小偷也學聰明了,直接偷兩塊大白兔不如偷鑰匙,然后拿着鑰匙開着卡車去倉庫堂而皇之的偷。這樣的情況越來越多,大家都開始重視鑰匙的保管了,於是老歐看到了機會,開了一家“老歐鑰匙保管公司”,做了幾年經營的還真不錯,大家不論什么鑰匙都願意在老歐的鑰匙保管公司保存。后來為了方便客戶老歐推出了一項租借臨時鑰匙的服務,不過誰要想從他那里借鑰匙首先得先在他那里登記,登記好了老歐會給他一個密碼。登記的客戶可以在征得別人同意的情況下借別人的鑰匙。快遞公司的小迪經常到到別人家倉庫去取貨,肯定早早就在老歐那里登記了。他的登記信息是這樣的,並且把他寫在自己的一個特質名片上。

公司名:XiaoDExpress ---- Consumer Key

借到鑰匙后需要做的事:1.在房間里四處轉轉
                               2.從里面拿點東西出來

老歐給的密碼: Secret123 --Consumer Secret Key

 

今天的事就這樣開始了。

快遞公司的小迪早上剛上班,就接到了淘寶店主糖糖的電話,說要發兩斤大白兔奶糖給廣州的客人。

 

”鈴鈴鈴。。。。“

小迪:”喂,這里是快遞公司。“

糖糖:“早啊哥們,剛剛成了一單,給廣州發2斤大白兔。”

小迪說:“貨在哪兒啊?我去取。”

糖糖說:“貨在京郊倉庫呢,鑰匙保管公司的老歐那里有鑰匙,你找他要吧。”

小迪說:”好嘞,請好兒吧您吶“。

 

於是小迪首先給老歐鑰匙保管公司的接待部(/oauth/request_token)打了個電話,告訴他的公司名(Consumer Key)和老歐當初給他的密碼(Consumer Secret Key),說要臨時借一下糖糖在京郊倉庫的鑰匙。

老歐鑰匙保管公司的接待部根據小迪說的公司名和密碼在賬本上查了查,嗯,沒問題,是小迪打來的電話,他的公司在我這兒登記過,密碼也說對了,於是給了小迪一個小紙條(RequestToken),並告訴他找公司驗證部(oauth/authorize)辦手續。並且告訴小迪抓緊時間,小紙條只在1個小時內有效(Expiration)。

 

小迪拿着他的名片和接待部給的RequestToken找到了驗證部(oauth/authorize)驗證部說:“鑰匙我做不了主,我得先問問鑰匙的主人糖糖。” 於是老歐公司驗證部給糖糖打了電話,老歐公司為了確保是糖糖本人接的電話,要求他說對了鑰匙的特征(用戶輸入密碼在OAuth 提供者的登錄過程)。

老歐公司確定接電話的就是糖糖后告訴他說:“快遞公司的小迪說要接你京郊倉庫的鑰匙,他要進去轉轉,還可能拿點東西出來,你借不借?”

糖糖:”沒事,借給他吧,我們說好了。“

老歐公司驗證部:”好,小迪,糖糖說借給你鑰匙,你拿着這個紙條(oauth_verifier)到公司出納部去領鑰匙吧。不過趕緊去啊,這紙條就今天有效(Expiration)“。

 

快遞公司的小迪拿着自己的名片和驗證部給的小紙條(oauth_verifier)到了出納部(/oauth/access_token),出納部驗證小迪的身份和驗證部給的小紙條后,把糖糖在京郊倉庫的鑰匙給了小迪說:”你現在可以拿着糖糖的鑰匙去他倉庫里去了,不過要盡快,這是把臨時鑰匙,2天后就不能用了(Expiration)“。

於是,小迪拿着糖糖的臨時鑰匙到了京郊糖糖的倉庫,取了2斤大白兔奶糖發出去了。

 

故事到這兒就算完滿結束了。慶祝!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM