php-处理Google OpenID

我正在尝试为我的网站实现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的详细信息.

但是,我再次强烈建议使用库.

上一篇:在ASP.NET中,会话管理和使用OpenID链接用户帐户


下一篇:2021-02-07