我使用HybridAuth允许用户使用他们的Facebook帐户登录我的网站。在第一次登录期间,Facebook像往常一样要求用户对我的应用程序拥有大权限。由于我希望可能的最低接受度阈值,我不想在此登录过程中要求用户授予在墙上发布所需的权限。但我想将此作为一项额外功能。
例如,如果用户发布某种内容类型,我想问他,他是否希望将这些内容发布在他的墙上。 为了实现这一点,我必须要求允许在用户登录时在Facebook墙上发布。
HybridAuth可以实现吗?
答案 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
如果您需要其他帮助,请在下面发表评论,如果我不够清楚,我很抱歉给您带来不便。享受你的一天!