HybridAuth:如何为现有用户寻求额外许可?

use*_*950 5 facebook hybridauth

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

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

这可能与HybridAuth一起使用吗?

mak*_*h81 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();
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,范围数组包含您将在应用程序中使用的权限。总而言之,是的,它可以发生在混合身份验证上。但同时这取决于您使用的是什么,使用 Facebook API 和 C+ 可能会更好。有关更多详细信息,请参阅:http://hybridauth.sourceforge.net/userguide/IDProvider_info_Facebook.html 对于 Facebook API:http://developers.facebook.com/docs/reference/dialogs#display

如果您需要其他帮助,请在下面发表评论,如果我不够清楚,给您带来的不便,我们深表歉意。祝您愉快!