Persona - Mozilla new identification system

雖然自從Google chrome出來之後,Mozilla的firefox似乎有點被趕過去的感覺,不過身為提倡網路開放的組織&先鋒,Mozilla對於網路的革新仍然持續進行中,也常常給大家帶來不少驚喜 :p

最近因為nodejs的關係,不小心讓我注意到Mozilla最近推出的一項新實驗(先以實驗代稱吧,畢竟目前應該還屬於自家測試的階段),一個我們每天幾乎都會做的一個動作 - login

對於一般使用者來說,在不同的網站中老是需要作登入的動作真的是件很煩人的事(在此先排除掉某些人是刻意作這件事 XD),而對於網站設計者來說,身份認證系統幾乎已經是一般網站的必要功能之一,不過有幾點麻煩的地方,首先,你就因此多了一個需要維護的系統(而且使用者身份資料又是特別敏感的資訊),只有自家用的帳號系統似乎有點多餘?(所以有不少網站現在都直接用大站提供的OAuth來作身份認證了),不過雖然你可以直接用像Facebook、Google、Yahoo這些大站所提供的身份認證,但是換句話說,你也等於被這些大站制約了(當然我覺得這是見仁見智,因為直接用也不見得全然不好)

而這就是Persona(之前叫做browserid,而且其實以前persona是另一個專案 XD)可以提供的啦,這個由Mozilla所主導開發的開源專案,提供一個第三方、分散式的身份認證系統。

Mozilla Persona

這邊有個簡單的展示網站,可以去那邊試試看persona的威力 :p

目前可以看出的特點是:

  1. 以Email的基礎的認證方式,這是由Mozilla的工程師所提出的[Verified Email Protocal](https://wiki.mozilla.org/Labs/Identity/VerifiedEmailP
    rotocol)實作出來的
  2. 分散式的認證方式,使用者不需要把訊息傳至第三方來進行認證

詳細的介紹的話,可以到其中一位Mozilla工程師所寫的介紹文詳讀,可以粗略了解它的運作原理以及設計架構 使用方法也蠻簡單的,一樣可以參照官方說明:

Client

Server

從文件的說明,主要應該是區分為三個步驟:

  1. Cerificate Provisioning - 身分提供商(like google, yahoo)確認使用者擁有該身分
  2. Assertion Generation - 由瀏覽器產出憑證,證明該使用者擁有此身分
  3. Assertion Verification - 使用persona的網站驗證使用者的憑證是否正確

感覺是個有趣的專案,不知道Mozilla會怎麼繼續增強它的功能 :p (目前Mozilla自家的認證系統幾乎都已經改用persona囉)

Ferrari Lee

Read more posts by this author.

Subscribe to Ferrari != Ferrari

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!