2009-11-07 46 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实施