HybridAuth:如何为现有用户请求额外的权限?

时间:2015-10-16 14:01:13

标签: facebook hybridauth

我使用HybridAuth允许用户使用他们的Facebook帐户登录我的网站。在第一次登录期间,Facebook像往常一样要求用户对我的应用程序拥有大权限。由于我希望可能的最低接受度阈值,我不想在此登录过程中要求用户授予在墙上发布所需的权限。但我想将此作为一项额外功能。

例如,如果用户发布某种内容类型,我想问他,他是否希望将这些内容发布在他的墙上。 为了实现这一点,我必须要求允许在用户登录时在Facebook墙上发布。

HybridAuth可以实现吗?

1 个答案:

答案 0 :(得分:1)

可能?是的,HybridAuth支持FaceBook Perm API,它允许您控制有哪些权限。这样做的方法很简单。在“范围”数组中,您输入您将要求和需要的权限。没有办法假装你只使用少数,但实际上你正在使用所有这些。我将给出一些示例代码(在PHP中)作为它的概括内容:

<?php
$config = array(
  "base_url" => "http://mywebsite.com/path/to/hybridauth/",
  "providers" => array (
    "Facebook" => array (
      "enabled" => true,
      "keys"    => array ( "id" => "PUT_YOURS_HERE", "secret" => "PUT_YOURS_HERE" ),
      "scope"   => "email, user_about_me, user_birthday, user_hometown", // optional
      "display" => "popup" // optional
)));

require_once( "/path/to/hybridauth/Hybrid/Auth.php" );

$hybridauth = new Hybrid_Auth( $config );

$adapter = $hybridauth->authenticate( "Facebook" );

$user_profile = $adapter->getUserProfile();

如您所见,scope数组包含您将在应用程序中使用的权限。对于某些人来说,是的,它可能发生在Hybrid Auth上。但与此同时,它取决于您使用的是什么,您最好使用Facebook API和C +。有关详细信息,请参阅:http://hybridauth.sourceforge.net/userguide/IDProvider_info_Facebook.html 对于Facebook API:http://developers.facebook.com/docs/reference/dialogs#display

如果您需要其他帮助,请在下面发表评论,如果我不够清楚,我很抱歉给您带来不便。享受你的一天!