2009-11-07 70 views
3

我正在嘗試爲我的網站實施Google OpenID,但我正在努力弄清楚如何處理我得到的OpenID響應。處理Google OpenID

目前,當您點擊登錄按鈕時,它會將您帶到Google網站,要求您在那裏登錄,當我點擊「登錄」時,它會將我帶回我的網站,並獲得以下信息URL:

http://mysite.com/return.php?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0   
&openid.mode=id_res   
&openid.op_endpoint=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fud   
&openid.response_nonce=2009-11-07T02%3A50%3A43Zv7QGuR9bs7yijw   
&openid.return_to=http%3A%2F%2Fmysite.com%2Freturn.php   
&openid.assoc_handle=AOQobUfDUg3KHwhcQlAgh4cjISdyflaGuGzWJEpNzR8TnufNIvKLBex4 
&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle   
&openid.sig=FRIZWu78OrjWgb%2Fkiqq%2B63Zs8Pk%3D 
&openid.identity=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3DAItOawn34aUewQCm4U9DSwJFm4rVyyw9Zi6S_1k 
&openid.claimed_id=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3DAItOawn34aUewQCm4U9DSwJFm4rVyyw9Zi6S_1k 

現在我完全不知道該怎麼做。

有人能指出我在正確的方向嗎?

感謝

+0

對不起,文字溢出 – Stephen 2009-11-07 03:03:24

回答

3

使用php-openid庫提OpenID的請求,並驗證從基於PHP的網站的響應。滾動您自己的OpenID非常複雜,並且包含密碼學等複雜的內容(例如:Diffie Hellman密鑰交換)。

openid specification是一個有趣的閱讀,如果你想了解的東西是如何工作的,即使實現這一切未免太乏味。這裏是some more developer resources

爲了幫助您入門:在OpenID術語中,您的網站被稱爲「依賴方」或「消費者」。谷歌在這種情況下,將是'身份提供者'(一種認證用戶的服務)。

還有細節using on Google's OpenID implementation在線。

但是,我強烈建議使用庫。

+0

謝謝。我將嘗試瞭解php-openid庫的工作原理。我看到這個類的登錄'http://www.andrewpeace.com/googleopenid/GoogleOpenID.php.txt',這就是我得到的答覆。 – Stephen 2009-11-07 03:30:18

+1

+10使用庫。正確實施OpenID並不容易。 – 2009-11-07 05:55:16

0

現在谷歌已經非常容易地處理OPENID請求和其他東西的實現,只需登錄https://code.google.com/apis/console稱爲開發人員控制檯,並創建項目,你必須點擊Identification Toolkit並提供信息,只需提供簡單鏈接網站和OPENID實施