OpenID

如果用 OpenID ,當你瀏覽的網站有支援 OpenID 的話,那你就不必再產生一組帳號密碼,直接用你的 OpenID 進行驗證登入。

OpenID 有幾個主要的角色:分別為 Provider, Consumer, 及 Server。

OpenID 的運作模式如下:

假設今天網站A是一個支援 OpenID 驗證的網站,那麼網站A算是一個「OpenID consumer」;而 Yahoo! 的帳號可以生成一個 OpenID,使用者可以拿著這個生成的 OpenID 到 OpenID consumer 去作驗證登入的動作,這樣 Yahoo! 就算是一個「OpenID provider」;但對 consumer 來說,使用者輸入的 OpenID 不一定長成什麼樣子(往往是 URL 形式),更沒辦法單靠這個字串判斷要把使用者導向何處(理論上是 provider 的登入畫面)作帳號密碼的驗證動作,所以 consumer 必須透過某個協定向「Server 」來問這樣的 OpenID 是否合法,以及要導向的網址。

像一個知名的圖片分享網站 — Zooomr 就是一個支援 OpenID 的網站(當然就是 consumer),當你試圖要登入 Zooomr 時,可以選擇以 OpenID 的方式登入,這時 Zooomr 會把你導向你的 OpenID provider 去作驗證(帳號密碼的輸入動作),如果驗證成功,那 Zooomr 就會信任這個驗證,開始讓你使用 Zooomr 的服務。

當然,即便 OpenID provider 愈來愈多,它們的會員帳號都成為 OpenID,但並不代表這些 OpenID 是相同的,簡而言之,由不同 provider 提供的 OpenID 就會被視為不同的 id,只不過它們有遵循 OpenID 的規格而已。但是對 consumer 而言,只要是遵守 OpenID 規格的 id 都可以進行驗證。