2008-05-08

一組帳號密碼走遍天下 - OpenID

沒事在網路上「衝浪」的人都有一個經驗,三不五時某些論壇討論區、服務甚至只是在 Blog 留個言,都被要求註冊帳號或留下資料,雖然大部分人手頭上都有「專收垃圾信」、用來註冊不重要服務的 E-mail 和資料,但是一直去註冊認證或是填寫也很累。對架設服務和站台的人來說,他們也不一定是「貪圖」使用者的個人資料,有時候只是為了「識別」使用者、避免被匿名回應的人來亂而已(那種一個人分飾多角、一直留言來鬧的戲碼屢見不鮮啊)。那在這樣的供需環境下,能不能有一個到處「通用」的帳號,只要註冊或登入一次,逛各大服務或網站的時候,用這個 ID 就能免除一直註冊或認證的問題(類似 Google 帳號登入一次就可以使用所有 Google 服務,但,目前僅限他們自家的產品)?而服務提供者,也可以透過標準的檢驗機制,去排除匿名、識別該使用者身份?於是乎,網路上發展出因應這樣需求的識別機制,那就是 OpenID。顧名思義,你只要有一組 OpenID 及其密碼,當你逛到支援該識別機制的網站或服務,不需要再註冊,用該 ID 登入就可以滿足彼此的需求了。(官方原文:What is OpenID?

當然,要有一個 OpenID,首先要去提供 OpenID 服務的供應商「註冊」一個帳號(如果你已經有 AOL 帳號,就不用再註冊,可以參考 Angelo說明文章,如果你是 Blogger 的使用者,你也不用再申請,因為 Blog 網址就是 OpenID 啦)。這個所謂的「帳號」,格式和傳統文數字的 ID 不一樣,該帳號格式其實是個「網址」,前綴字是個 ID,後面帶的網址端看你找的服務商而有所不同。舉個例子,像我找 MyOpenID 註冊,我得到的 OpenID Identity 就是:http://abin.myopenid.com/,拿網址做 OpenID 雖然很長,但有很多好處。首先,可以直接識別服務商的來源,ID 不容易重複(所以我搶得到 abin 這個那麼短的網址帳號),而網址格式也有助於伺服器對伺服器之間的相互驗證(容後述),你也可以透過這個 ID 的網址當作個人的網路名片 (Profile),用來和朋友交換認識(這就是之所以「Open」的原因,當然,如果你不想提供隱私資料也沒關係)。提供 OpenID 註冊的供應商很多,根據 OpenID 組織公告提供的清單,你可以隨便挑喜歡的網址、或前綴名稱還沒被人占去的註冊,像我申請過的 MyOpenID 也不賴,市佔率高、也有部份中文介面(還有重灌狂人大大寫過註冊教學),很容易就可以建立自己專屬的 OpenID 了!

上面有提到一個重點,該 ID 要能便利使用,你平常瀏覽的網站或服務還要支援該識別機制。說實話,目前有支援的並沒想像那麼多,尤其是大家常用的服務,像 Google、Yahoo、MSN,都還不能直接用這個 ID 來做單一登入(Single Sign-on),但,這是個「趨勢」,因為越有來越多的服務商都開始支援了(支援 OpenID 登入的網路服務分類清單在此)。像 M$ 在其部份服務開始與 OpenID 介接、Yahoo 宣佈支援 OpenID 2.0 識別標準、Blogger 也變成 OpenID 的供應者Blogger 支援以 OpenID 提供訪客留言的識別機制,而美國市占第一的 AOL (& AIM) 和著名的網路相簿 Zooomr 更是早就支援 OpenID 註冊登入,可以預見的,隨著套用該識別機制的服務和伺服器越來越多,透過單一帳號就能在網路上「衝浪」的夢想就越快能實現囉!

Blogger 提供訪客能透過登入 OpenID 來留言。如果你不允許匿名留言,這也是一種識別使用者的好辦法。

最後,上面有提到 OpenID 是個「網址」,背後用的是「伺服器對伺服器」之間的相互驗證機制,如果你對自己的網站 (or Blog) 或網域有足夠的控制權,可以透過設定或更改首頁的程式碼、手動「委任」識別的資訊,讓你的 Blog 或網站網址,直接就變成你的 Open ID !神吧!讓自己網址變成 OpenID 的方法和內容,有興趣的人可以移駕到我另一個 Blog,參考這篇文章:讓自己的 Blog 網址變成 OpenID

接下來各大服務商應該會搶食「網路名片」的市場(Google Profile、MSN or Yahoo Account),因為這個「名片」,可以讓你用在「社群網路」上(還能設大頭貼、顯示個人公開資訊),讓你拿來認識新朋友、或當作交換彼此資訊的媒介。當然,如果這個名片是個也是個「ID」,結合個人密碼的認證,讓你能登入一些需要註冊或識別才能留言或使用的網站或服務,那才是王道啊!OpenID 是個標準、也符合簡化網路使用的趨勢,不用再去註冊或管理一堆帳號密碼,只要一組就能走遍天下。如果這樣一組 ID 能讓你登遍所有服務(包含 MSN、GMail、Flickr、Twitter),彼此之間又有公正機制去有限制使用和保護個人隱私,這才是網路世界之福啊!(不過,要這些不同廠商統統都整合在一起,可能還有很長一段路要走吧~)

回應: 6

Angelo 提到...

我一看就知道這篇是你的文章,跟我一樣也被抄襲了,跟你說一聲,抄襲的文章:OpenID 服務

Abin 提到...

To Angelo:
謝謝你的告知,我已經去提點那位站主了,最少也該寫一下引用的出處吧~

Aim Wang 提到...

我想,個網站後續的帳號合併,才是比較大的工程,如何讓 OpenID 併入已經註冊的帳號,讓使用者真正享受一個帳號走天下,而不必成為該網站的新使用者,這大概也是各大入口網站還沒完全支援 OpenID 登錄的主因吧。

Abin 提到...

To aim wang:
整合技術不是問題,我想各大入口網站打的算盤還是:「你來我這註冊、我讓你能用我的帳號登入支援 OpenID 的網站」,自己卻不喜歡使用者用標準 OpenID 登入自己的服務(Yahoo, Google 目前都是這樣),畢竟實際上這些來「註冊」的使用者比較像是自己的用戶。
不過目前很多比較小的網路服務仍會支援這樣的架構,當他們也成長成入口網站時,OpenID 也才會變得越來越重要吧!

mesple 提到...

請教站長,我可以使用Yahoo!的OpenID登入我在Google的服務嗎?還有,我需要去搶各家OpenID provider的ID嗎?以免被人捷足先登?

Abin 提到...

To mesple:
我的文章裡面有寫,現在各大入口網站,有提供 OpenID 的,都是「允許自己的帳號去登入支援 OpenID 的服務」,但是,卻都還不允許別人的 OpenID 登入自己的服務。所以 Yahoo 帳號當然不能登入 Google。
另外,OpenID 只要一個就夠了,搶 ID 不就違背了登一帳號登入的出發點?

張貼留言

歡迎隨便亂哈啦留言或發表意見,不過要理性不做人身攻擊~匿名的朋友得到回應的速度會比較慢喔~
請注意發問相關的禮貌和規矩,不當留言、和本文無關的回應可能會被直接刪除無視喔!