Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
Javascript 在本地主机上运行的webapp中的openid和facebook身份验证_Javascript_Ajax_Servlets_Openid_Oauth 2.0 - Fatal编程技术网

Javascript 在本地主机上运行的webapp中的openid和facebook身份验证

Javascript 在本地主机上运行的webapp中的openid和facebook身份验证,javascript,ajax,servlets,openid,oauth-2.0,Javascript,Ajax,Servlets,Openid,Oauth 2.0,我的java/javascript web应用程序正在开发中,我有一个javascript应用程序,它使用ajax POST命令与我的数据库(在那里我维护自己的用户ID)进行通信,并在vmware机器内的localhost上运行一个servlet容器。我希望能够在这个开发设置中使用Google、Yahoo和Facebook身份验证登录,但在研究Facebook的OAuth 2.0方法时,您的web应用程序似乎必须有一个指向Facebook站点的链接,并在身份验证完成后提供一个指向您自己站点的重定

我的java/javascript web应用程序正在开发中,我有一个javascript应用程序,它使用ajax POST命令与我的数据库(在那里我维护自己的用户ID)进行通信,并在vmware机器内的localhost上运行一个servlet容器。我希望能够在这个开发设置中使用Google、Yahoo和Facebook身份验证登录,但在研究Facebook的OAuth 2.0方法时,您的web应用程序似乎必须有一个指向Facebook站点的链接,并在身份验证完成后提供一个指向您自己站点的重定向链接。这种方法行不通,因为facebook无法重定向到本地主机地址并访问我的机器,因为我的机器没有网络存在

我在OpenID和Google/Yahoo身份验证方面有相同的问题吗


Andy

您可以在本地计算机上添加DNS条目,以便
mysite.com
解析到本地计算机。 通过这样做,您将能够从本地计算机登录以进行测试

在Windows中,您可以通过编辑文件来执行此操作:
C:\Windows\System32\drivers\etc\hosts

添加新行:

127.0.0.1 mysite.com
关于OpenID,我不确定是否会接受来自
localhost
URL的登录,但在主机文件中添加条目并拥有适当的域后,它肯定会工作(即使它只在您的计算机上解析)


诀窍在于,登录后,Facebook或Google会对您的应用程序做出如下响应:将用户重定向到
mysite.com
,并进行身份验证。然后,您的浏览器将把mysite.com解析为您的机器,并且它都可以正常工作。

Facebook OAuth可以与本地主机应用程序一起工作。这是因为Facebook将浏览器重定向到您在oauth中提供的
重定向uri
,您的浏览器知道
http://localhost
is(我实际上在apache和windows vhosts中使用了一个虚拟主机,不知道是否可以在应用程序设置中输入localhost作为网站url)。完美地工作

然而,根据我的经验,GoogleOAuth在本地版本上不起作用。不知何故,该网站需要从谷歌本身(不仅仅是浏览器)访问才能运行,但它没有,所以它没有(对不起,我不记得确切的细节)

我不知道其他人