我正在尝试为我的网站实现Google OpenID,但是我正在努力弄清楚如何处理我收到的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
现在我完全不知道该怎么办.
有人可以指出我正确的方向吗?
谢谢
解决方法:
使用php-openid库发出OpenID请求并验证基于PHP的网站的响应.滚动您自己的OpenID非常复杂,并且包括诸如加密之类的复杂事物(例如:Diffie Hellman密钥交换).
如果您想了解事物是如何工作的,即使执行它太繁琐,也可以阅读openid specification.这是some more developer resources.
为了帮助您入门:在OpenID术语中,您的网站称为“依赖方”或“消费者”.在这种情况下,Google将成为“身份提供者”(一种验证用户身份的服务).
在线上也有using on Google’s OpenID implementation的详细信息.
但是,我再次强烈建议使用库.