GWT-开发模式-Facebook-访问令牌-重定向

GWT-开发模式-Facebook-访问令牌-重定向,facebook,facebook-graph-api,gwt,access-token,facebook-access-token,Facebook,Facebook Graph Api,Gwt,Access Token,Facebook Access Token,我正在开发一个使用Facebook身份验证的网站 我使用的是GWT,当我运行编译的代码时,它工作得很好,但当我运行开发时,它不工作 问题是当我试图从Facebook检索access_令牌时。 我收到以下错误: "error":{"message":"Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dial

我正在开发一个使用Facebook身份验证的网站

我使用的是GWT,当我运行编译的代码时,它工作得很好,但当我运行开发时,它不工作

问题是当我试图从Facebook检索access_令牌时。 我收到以下错误:

"error":{"message":"Error validating verification code. Please make sure your redirect_uri     is identical to the one you used in the OAuth dialog request","type":"OAuthException","code":100}"
显然,重定向uri与登录url相同

我发现()问题是url的最后一部分“?gwt.codesvr=127.0.0.1:9997”

我怎样才能解决这个问题?或者,我该如何使用GWT开发模式解决这个问题


谢谢,

通常这是由于FB进行了url验证

在FB中注册新应用程序时,必须配置授权使用FB登录表单的域集(应用程序域)

不幸的是,您无法将
127.0.0.1
localhost
设置为有效域,因此除非在域中配置指向本地主机的主机名,否则无法使用GWT dev模式

如果在FB应用程序中将
mydomain.com
设置为有效的
App-Domain
,请在本地
hosts
文件或
DNS
服务器中配置
localhost.mydomain.com
指向
127.0.0.1
。然后使用在浏览器中运行开发模式。

我发现了问题。 通过只对gwt.codesvr值进行编码,它可以工作。 然而,在上面使用php urlencode函数并不起作用,我必须自己对它进行编码。
gwt dev参数的结尾如下“?gwt.codesvr=127.0.0.1%3A9997”

我已经在使用格式为“”的url。正如我所说,当我编译并直接访问myapp.html时,它就可以工作了。我不仅仅在url上使用“?gwt.codesvr=dev.mydomain.com:9997”。对于我开发的几个应用程序,它在开发模式下工作得非常好。如果我使用localhost,我只会收到你说的错误。我假设您使用jsni正确包装了FB jsApi init()和login()调用(因为它在prod中工作)。FB jsapi负责在调用oauth对话框之前读取页面url并编写重定向url,因此,除了正确配置域之外,我看不到您还能做什么。