用案例解釋 OpenID 與 OAuth 的使用情境
參與者
- abc.net 是一個社群服務網站,並且同時也是 OpenID 與 OAuth 的 Provider 。
- xyz.com 是一個購物網站,且可使用 abc.net 所提供的 OpenID 與 OAuth 的服務。
- 路人甲,是一個人,慣用的網路ID是 john。
路人甲(john)是 abc.net 的長期使用者,他在 abc.net 的使用記錄中,留下了許多偏好資訊,包含:
- 他的名片,記載了他的地址、聯絡方式、與公司職務等。
- 他的使用偏好,他習慣選擇中文使用介面,偏好藍色系佈景。
- 他的通訊錄與好友名單。
OpenID 使用情境
路人甲想使用 xyz.com 的服務,可是他不想要再多記一個密碼。 由於 xyz.com 支援 OpenID 的使用,所以路人甲在登入 xyz.com 網站時,他的登入帳號可以輸入 http://john.abc.net 。 於是 xyz.com 網站就會導引路人甲回到 abc.net 的登入頁面,完成輸入密碼的動作之後,再回到 xyz.com 的使用頁面。
所以 OpenID 讓路人甲用同一個帳號,就可以登入另一個網站(若其支援的話)。
使用 OpenID provider 並不需要特定簽約。以 abc.net 與 xyz.com 的關係來說,只要 xyz.com 願意接受 abc.net 的 OpenID ,xyz.com 就可以使用 OpenID 登入。xyz.com 並不需要向 abc.net 簽約。
OAuth 使用情境
當路人甲第一次登入 xyz.com 的使用頁面後,xyz.com 為了提供路人甲更好的操作體驗,於是它可以透過 OAuth 從 abc.net 處取得路人甲的使用偏好。 再一次,路人甲將被導引回 abc.net 的頁面,確認他是否要讓 xyz.com 取得他的使用偏好。 這個確認動作,可能做一次後就會被記住而不會再問,也可能每次都問。這由 abc.net 的設計決定,讓路人甲選擇。
現在 xyz.com 得知路人甲的使用偏好了,所以它會直接顯示中文使用介面,並使用藍色系的布景。
路人甲在 xyz.com 上訂購商品了,現在 xyz.com 需要路人甲寄件地址與聯絡電話。 由於路人甲已經允許 xyz.com 透過 OAuth 向 abc.net 查詢他的隱私資訊,所以 xyz.com 將可直接向 abc.net 取得路人甲的名片(地址與電話),而不需路人甲自己填寫。
在這個資料查詢的過程中,路人甲都不需要把他在 abc.net 的登入密碼告知 xyz.com 。
所以 OAuth 可在保護密碼的條件下,讓使用者自己控制另一個網站向本站查詢其個人資料。
假設有一天,xyz.com 犯傻了,在路人甲登入網站後,透過 OAuth 向 abc.net 要路人甲的某個影片檔。 由於 abc.net 並不保存路人甲的影片檔、或者路人甲並未允許 xyz.com 提取影片資料,所以 abc.net 就不會提供影片給 xyz.com 。
藉由以上使用案例,應該可以了解 OpenID 與 OAuth 的使用場合了。
樂多舊回應