以下兩個 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 的部份即可。 |