Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
开发和测试混合google openid+;本地主机上带有openid4java的oauth_Java_Openid - Fatal编程技术网

开发和测试混合google openid+;本地主机上带有openid4java的oauth

开发和测试混合google openid+;本地主机上带有openid4java的oauth,java,openid,Java,Openid,我正在尝试实现混合Google OpenID+OAuth协议,以便识别我的用户并访问他们的Google日历数据 示例请求如下所示: https://www.google.com/accounts/o8/id ?openid.ns=http://specs.openid.net/auth/2.0 &openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select &openid.identity=http://

我正在尝试实现混合Google OpenID+OAuth协议,以便识别我的用户并访问他们的Google日历数据

示例请求如下所示:

https://www.google.com/accounts/o8/id
?openid.ns=http://specs.openid.net/auth/2.0
&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select
&openid.identity=http://specs.openid.net/auth/2.0/identifier_select
&openid.return_to=http://www.example.com/checkauth
&openid.realm=http://www.example.com
&openid.assoc_handle=ABSmpf6DNMw
&openid.mode=checkid_setup
&openid.ns.oauth=http://specs.openid.net/extensions/oauth/1.0
&openid.oauth.consumer=www.example.com
&openid.oauth.scope=http://docs.google.com/feeds/+http://spreadsheets.google.com/feeds/
我正在使用openid4java。我试着跟随这个帖子:

但是我在本地主机上测试应用程序时遇到了麻烦

正如您在前面的示例请求中所看到的,有三个属性必须相等:

openid.realm
openid.oauth.consumer
openid.return_to
我已经在谷歌注册了一些域名,并获得了用户密钥和密码。但当我想在本地主机上开发和调试我的应用程序(即openid.return_to=和openid.realm=http://*.mydomain.com和openid.oauth.consumer=www.mydomain.com)并提供密钥和机密时,openid4java RealmVerifier会拒绝这样的身份验证请求

我甚至尝试提供完全有效的选项(我注册的域而不是本地主机)-它似乎正常工作,但重定向消失了(由于缺少技术,我不想/无法在该域中部署应用程序)

请问,如何在本地主机上开发这样的应用程序?如何测试这样的应用程序有什么诀窍吗


谢谢你的帮助

尝试添加your-machine.your-domain.com,它指向dev框中/etc/hosts(linux上)中的127.0.0.1,然后点击应用程序


(注意:用你的机器名替换你的机器,用你在谷歌注册的域名替换你的域名)

谢谢你的回复。我们最终通过在AppEngine上开发简单的RESTful身份验证服务解决了这个问题,该服务由客户端调用。(无论如何我们都需要服务器,所以我们选择了这种方式。)@Martin我认为关于你的问题,这个答案是可以接受的。