如何处理用于开发和调试Facebook身份验证的回调URL?
我正在建立一个使用Facebook身份验证的网站。问题是,我一次只能有一个回调url,所以当我在本地工作时,我使用我的localhost url作为回调url,当我想在Heroku上测试它时,我将它切换到真实的url 现在还可以,因为我还没有向公众发布,我可以从localhost切换到真实的url,而不用担心用户被锁定如何处理用于开发和调试Facebook身份验证的回调URL?,facebook,deployment,oauth,Facebook,Deployment,Oauth,我正在建立一个使用Facebook身份验证的网站。问题是,我一次只能有一个回调url,所以当我在本地工作时,我使用我的localhost url作为回调url,当我想在Heroku上测试它时,我将它切换到真实的url 现在还可以,因为我还没有向公众发布,我可以从localhost切换到真实的url,而不用担心用户被锁定 然而,我想知道,一旦我发布了这项服务,并且实际上有人在使用这项服务,我怎么能做到这一点。谢谢你的建议。(我肯定这是一个全新的问题,但是,嘿,你必须从某个地方开始)你可以根据每个请
然而,我想知道,一旦我发布了这项服务,并且实际上有人在使用这项服务,我怎么能做到这一点。谢谢你的建议。(我肯定这是一个全新的问题,但是,嘿,你必须从某个地方开始)你可以根据每个请求指定回拨URL。无论您在请求中指定什么,都将覆盖您在应用程序设置中配置的默认回调URL。您可以通过在初始O-auth身份验证请求中传递“redirect_uri”参数来实现这一点 下面是我在一个项目中使用的一些PHP代码的片段:
public function authenticate(array $params) {
$scope = empty($params['scope']) ? 'email,publish_stream,offline_access' : $params['scope'];
$fb= FB::get_fb_api(); //singleton to get Facebook API object
$login_url = $fb->getLoginUrl(array(
'redirect_uri' => $GLOBALS['CONFIG']->base_url . '/fbOauth/signin_callback',
'scope' => $scope,
'display' => 'popup'
));
header("Location: $login_url");
}
如您所见,我动态设置了基本url—因此,我的开发环境将传递与我的生产环境不同的url。您可以根据每个请求指定回调url。无论您在请求中指定什么,都将覆盖您在应用程序设置中配置的默认回调URL。您可以通过在初始O-auth身份验证请求中传递“redirect_uri”参数来实现这一点 下面是我在一个项目中使用的一些PHP代码的片段:
public function authenticate(array $params) {
$scope = empty($params['scope']) ? 'email,publish_stream,offline_access' : $params['scope'];
$fb= FB::get_fb_api(); //singleton to get Facebook API object
$login_url = $fb->getLoginUrl(array(
'redirect_uri' => $GLOBALS['CONFIG']->base_url . '/fbOauth/signin_callback',
'scope' => $scope,
'display' => 'popup'
));
header("Location: $login_url");
}
如您所见,我动态设置了基本url,因此,我的开发环境将传递与我的生产环境不同的url。谢谢,但我找到了另一种方法。我认为创建两个应用程序更简单,一个用于开发,一个用于生产,并相应地连接它们,正如这里提到的:谢谢,但我找到了另一种方法。我认为创建两个应用程序更简单,一个用于开发,一个用于生产,并相应地连接它们,如下所述: