将用户定向到facebook登录页面而不请求权限

将用户定向到facebook登录页面而不请求权限,facebook,permissions,oauth,facebook-fbml,Facebook,Permissions,Oauth,Facebook Fbml,我正在尝试将用户重定向到facebook登录页面,然后返回到我的应用程序,而不显示登录到应用程序页面。这可能吗 我已经研究了PHP-SDK自动生成的“next”参数,但似乎无法更改它 还有什么可以做我想做的吗?我想确保用户已登录,以便检查他们是否已对我的应用进行了身份验证,但如果他们尚未进行身份验证,则不希望他们进行身份验证 谢谢你的帮助 他们只能第一次接受权限。Facebook永远不会让你在用户不知情的情况下获取用户的数据/接受他们只能第一次接受权限。如果您使用的是php,Facebook永远

我正在尝试将用户重定向到facebook登录页面,然后返回到我的应用程序,而不显示登录到应用程序页面。这可能吗

我已经研究了PHP-SDK自动生成的“next”参数,但似乎无法更改它

还有什么可以做我想做的吗?我想确保用户已登录,以便检查他们是否已对我的应用进行了身份验证,但如果他们尚未进行身份验证,则不希望他们进行身份验证


谢谢你的帮助

他们只能第一次接受权限。Facebook永远不会让你在用户不知情的情况下获取用户的数据/接受

他们只能第一次接受权限。如果您使用的是php,Facebook永远不会让您在用户不知情的情况下获取用户的数据/接受:

// Create our Application instance.
$facebook = new Facebook(array(
  'appId'  => $fbconfig['appid'],
  'secret' => $fbconfig['secret'],
  'cookie' => true
));

//Facebook Authentication part
$user = $facebook->getUser();

if (!$user) {
    // user is not logged on --> redirect to the login url
} else {
    // user is logged on you can do what you want
}
如果您使用的是php:

// Create our Application instance.
$facebook = new Facebook(array(
  'appId'  => $fbconfig['appid'],
  'secret' => $fbconfig['secret'],
  'cookie' => true
));

//Facebook Authentication part
$user = $facebook->getUser();

if (!$user) {
    // user is not logged on --> redirect to the login url
} else {
    // user is logged on you can do what you want
}

不,我认为不可能修改下一个参数。我看到下一个参数(在PHP SDK中)的唯一地方是
getLogoutUrl()
函数,如base\u facebook.PHP的源代码所示。该参数定义注销后要转到的url。

对于base\u facebook.php文件中的
getLoginUrl()
,我们有

 return $this->getUrl(
  'www',
  'dialog/oauth',
  array_merge(array(
                'client_id' => $this->getAppId(),
                'redirect_uri' => $currentUrl, // possibly overwritten
                'state' => $this->state),
              $params));
作为函数的最后一行,这显然意味着无论您尝试什么,都将显示oauth对话框。

如果你的应用程序不在Facebook上,那么你可以使用Javascript使用Facebook进行
登录,然后按照中的示例进行操作。您将看到,即使不请求任何权限,也不可能完全删除该对话框。

Javascript SDK的FB.login()方法也将打开auth对话框。

希望这有帮助。

不,我认为不可能修改下一个参数。我看到下一个参数(在PHP SDK中)的唯一地方是
getLogoutUrl()
函数,如base\u facebook.PHP的源代码所示。该参数定义注销后要转到的url。

对于base\u facebook.php文件中的
getLoginUrl()
,我们有

 return $this->getUrl(
  'www',
  'dialog/oauth',
  array_merge(array(
                'client_id' => $this->getAppId(),
                'redirect_uri' => $currentUrl, // possibly overwritten
                'state' => $this->state),
              $params));
作为函数的最后一行,这显然意味着无论您尝试什么,都将显示oauth对话框。

如果你的应用程序不在Facebook上,那么你可以使用Javascript使用Facebook进行
登录,然后按照中的示例进行操作。您将看到,即使不请求任何权限,也不可能完全删除该对话框。

Javascript SDK的FB.login()方法也将打开auth对话框。


希望这能有所帮助。

我不想从用户那里获取任何数据,只允许他们登录重定向到我的应用程序的URL。@Derek:当你提供将他们登录到我的应用程序的URL时,你会得到基本数据,但是。。。我不需要基本数据。这似乎可以通过指定“next”参数来实现,但我无法使用PHP SDK$facebook->getLoginURL($params)函数来实现。@Derek:如果用户不允许您获取基本数据,您就无法登录。它们是基本的,而且它们总是自动提供给你,你需要他们的facebook id才能将他们登录到你的网站。Facebook id是基本数据的一部分。您确实需要它:)我不想从用户那里获取任何数据,只允许他们登录重定向到我的应用程序的URL。@Derek:您在提供将他们登录时获得了基本数据,但。。。我不需要基本数据。这似乎可以通过指定“next”参数来实现,但我无法使用PHP SDK$facebook->getLoginURL($params)函数来实现。@Derek:如果用户不允许您获取基本数据,您就无法登录。它们是基本的,而且它们总是自动提供给你,你需要他们的facebook id才能将他们登录到你的网站。Facebook id是基本数据的一部分。您确实需要它:)这将检查我的应用程序是否已被登录facebook的用户允许。这不是我要找的。我试图在生成facebook登录url($facebook->getLoginUrl($params))后链接到登录页面,而无需用户在重定向后验证我的应用程序。我看到下一个参数已设置,但似乎无法更改或删除它。这将检查登录facebook的用户是否允许我的应用。这不是我要找的。我试图在生成facebook登录url($facebook->getLoginUrl($params))后链接到登录页面,而无需用户在重定向后验证我的应用程序。我看到下一个参数已设置,但似乎无法更改或删除它。您能在此处显示生成“下一个”参数的SDK代码吗?$facebook->getLoginURL($params)下一个参数设置为“https%3A%2F%2Fwww.facebook.com%2Fdialog%2Fpermissions.request%3F_路径%3Dpermissions.request%26app_id%…”看起来它可以被覆盖。好吧,我想我已经检查了所有的可能性。如果您无法执行您试图执行的操作,请检查我的答案。希望有帮助:)您可以在此处显示SDK的代码,您可以在其中看到生成“下一个”参数吗?$facebook->getLoginURL($params)下一个参数设置为“https%3A%2F%2Fwww.facebook.com%2Fdialog%2Fpermissions.request%3F_path%3Dpermissions.request%26app_id%…”看起来它可以被覆盖。好吧,我想我已经检查了所有的可能性。如果你做不到你想做的事情,请检查我的答案。希望有帮助:)谢谢你的调查。我将把这个问题再留几天,看看是否还有其他人有工作要做。嘿,很高兴我能以某种方式提供帮助,如果你发现了自己的问题,一定要把它发布在这里。谢谢你的关注。我将把这个问题再留几天,看看是否还有其他人有工作要做。嘿,很高兴我能以某种方式提供帮助,如果你找到了自己的破解方法,一定要在这里发布。