OpenID php 實作

未分類
OpenID 是一個可以用單一ID 就登入所有網站的平台



當然首先是你要瀏覽/登入的網站 有支援 OpenID

好處是你不用再建立某個網站的新ID了

只要用一些大網站的ID進行登入即可 (像是google 或是 yahoo)

有打算最近把它做成網站模組

讓所有 release 的案子都有這個功能

這樣客人要會員系統 只要把這個模組掛上去 就大功告成啦~

底下是簡單的介紹

轉自
http://jsgears.com/thread-202-1-1.html
以下兩個 Know-How 主要是配合 PHP OpenID Library 整合時遇到的,如果您詳讀相關 Spec 後自行實做或許不會遇到相似的問題。如果不幸遇到了,也可以參考看看。

1. Google 提供的 OpenID 解決方案是不需要先輸入 User 的 OpenID URL 的,因此要帶入的 URL 請固定使用這組:
https://www.google.com/accounts/o8/id
PS. 這樣的做法相當讚,整合的頁面上只需要提供一個按鈕,不需要先讓 User 輸入那個 OpenID 的 URL,非常友善。

2. 當 Google 回應「伺服器無法處理您的要求」的錯誤訊息,很可能是因為你帶過去的 TrustRoot URL 是帶有小數點的,就會遇到這樣的錯誤,例如這樣的 URL:
http://jsgears.com/php-openid-2.1.2/
透過 PHP OpenID Library 範例中的 getTrustRoot() 帶過去後,就會發現錯誤訊息。解法當然是盡量避免這樣的 URL,或者你可以直接帶 domain name 的部份即可。