2012-04-06 111 views
3

在我们的Java EE应用程序中,我们调用fb oauth流来获取accessToken。 为了达到这个目的,我们使用应用程序密钥和秘密对带有回叫url的fb服务器进行调用。更改Facebook Oauth重定向网址

此时,在fb应用程序url部分中提供了相同的url。

但是,如果我们可以如何更改重定向url以转到不同的服务器吗?我看到只是改变代码中的回调url不起作用。看起来它在代码中以及在fb应用程序中必须相同。

这使得很难测试或使用相同的应用程序来尝试从两个不同的Web服务器的事情。

有关任何意见?

+1

大问题添加第二个域(地址镜像的主网站)。我会尝试传递查询参数,所以权限和路径是平等的,FB很高兴,但它给了我一些参数,所以我可以切换。或者,我需要将一些东西附加到STATE参数。 – 2012-04-06 09:50:20

+0

如果服务器完全不同,这将无法正常工作。或者可能是你需要确保两台服务器同时运行等等,尽管技术上可行,但不是一个非常实用的解决方案 – Vik 2012-04-06 16:15:50

+0

只要回到上面,我似乎可以添加一个查询参数,并且Facebook将它包括在回调/重定向。但是,两个参数似乎不起作用。我知道这不是维克想要的,但它可以帮助其他人登陆这里。 – 2012-04-10 13:33:08

回答

1

这是不可能的。只需将用户重定向到您的redirect_uri,即可将您重定向到正确的位置

在用户单击对话框中的按钮后重定向到的URL。 您指定的URL必须是具有相同的基本域 在应用程序的设置中指定的URL,表单 https://apps.facebook.com/YOUR_APP_NAMESPACE的画布URL或 形式https://www.facebook.com/PAGE_USERNAME/app_YOUR_APP_ID

https://developers.facebook.com/docs/reference/dialogs/oauth/

的页面标签网址
+0

你确定吗?任何文档参考?在这种情况下,它的一个大问题 – Vik 2012-04-06 04:41:20

+0

@Vik我已经添加了它 – 2012-04-06 09:46:40

0

出于安全原因,您无法更改重定向网址。 Facebook会检查您是否提供了与注册应用程序时相同的重定向网址。我解决这个问题的方法是在Facebook上为每个服务器注册一个应用程序。

+0

我遇到的问题是,Facebook身份验证页面将在新窗口中打开。你如何使它在同一个窗口中发生? – 2013-01-22 04:22:05