用通俗的例子解釋OAuth和OpenID的區別【原】

  • 什麼是OAuth(Wiki)
  • 什麼是OpenID(Wiki)

詳細的定義能夠看wiki,下面舉個例子說說個人理解網站

如今不少網站均可以用第三方的帳號登錄,好比,如今我要登陸淘寶買東西,而若是我沒有淘寶的帳號,我也能夠用微博的帳號登陸,這個微博帳號就是第三方帳號了。code

OpenID強調 驗證 authentication,而OAuth強調 受權 authorization。 驗證就是說「我」是否是(微博用戶),而受權是說「淘寶」可不能夠,而可不能夠的前提則是「我」是否是對象

過程大概是這樣

  1. 我點開微博登陸的連接,淘寶就跳到微博登陸頁面,問我你是否是那個微博用戶,是的話你用你的帳號密碼去登陸,你先去給微博驗明正身,是的話再來找我
  2. 好啦,我屁顛屁顛輸入帳號跟密碼,若是能夠登陸說明我這個身份是對的,經過了微博的驗證後微博就告訴淘寶說,沒錯沒錯,我家裏確實有麼這個傢伙ip

    上面這些都是OpenID的責任,並且OpenID也只作這件事,就是前面說的是否是get

  3. 而後呢,淘寶就說好好,有你微博驗證我放心,因而就讓我經過了
  4. 等等,這時淘寶只知道微博他們家有我存在,可是並不知道我在微博家裏叫什麼名,作過什麼事,其實淘寶也不該該知道,對吧,要是知道我在微博家總是處處舉報別人賣假貨坑顧客什麼的,那我讓你進我大淘寶豈不是會壞了個人大事,你丫是來搗亂的吧(至於淘寶爲何會這麼想,哼哼~大家懂的)
  5. 因此,淘寶一般就會作一件事,什麼事呢?這時就輪到OAuth出場了,淘寶在把我交給微博驗明正身的時候其實還「忽悠「了我,明明只是驗個身份,卻問我要不要把我在微博家叫什麼名作過什麼事也告訴它(就是一般看到的幾個打勾選項:容許訪問個人暱稱/容許訪問個人頭像等等),淘寶說這樣就能夠爲我提供更多的服務,什麼服務呢?模凌兩可,我呢看到有更多服務也沒多想就打勾了,不要白不要是吧。io

    這裏就用到了OAuth,就是前面說的可不能夠,這個要是真發現我在微博家幹過的事,會不會把我加入重點監控對象,那就要看淘寶有多少節操了微博

其實如今不少的第三方登陸都是這樣,驗證身份的同時順便把你在其餘地方的資料拿到手,名曰資料共享,其實共享一些非敏感信息倒也無妨,還能夠免去了每去一個新網站都要填寫一大堆重複資料的問題。可是我要吐槽的是,不少網站明明讓我用第三方帳號登陸,你都OAuth了爲毛登陸後還要再填一遍郵箱暱稱之類的東西?早知道這樣我還不如直接在你這邊註冊就行了,在我看來這是用戶體驗的問題了。登錄

寫這些其實就是想用簡單通俗的語言來解釋這二者的區別(旁邊哥們怒了:那你爲毛還這麼囉嗦!囉嗦!嗦! 哎呀~個人耳朵個人耳朵…)監控

 

以上,不對的地方請指正,謝謝!用戶體驗

相關文章
相關標籤/搜索