HybridAuth:如何为现有用户请求额外权限?
Posted
技术标签:
【中文标题】HybridAuth:如何为现有用户请求额外权限?【英文标题】:HybridAuth: How to ask for extra permission for exisiting user? 【发布时间】:2016-01-15 07:38:56 【问题描述】:我正在使用HybridAuth 允许用户使用他们的 Facebook 帐户登录我的网站。在第一次登录期间,像往常一样,Facebook 会要求用户授予我的应用程序的大权限。由于我想要尽可能低的接受阈值,因此我不想在此登录过程中要求用户授予权限,这是在他们的墙上发布所需的权限。但我想将此作为一项额外功能提供。
例如,如果用户发布某种类型的内容,我想问他,是否希望将该内容发布在他的墙上。 为了实现这一点,我必须在用户已经登录时请求在 Facebook 墙上发帖的权限。
HybridAuth 可以做到这一点吗?
【问题讨论】:
【参考方案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();
如您所见,范围数组包含您将在应用程序中使用的权限。总而言之,是的,它可以发生在 Hybrid Auth 上。但与此同时,这取决于您使用的是什么,使用 Facebook API 和 C+ 可能会更好。更多详情请回:http://hybridauth.sourceforge.net/userguide/IDProvider_info_Facebook.html 对于 Facebook API:http://developers.facebook.com/docs/reference/dialogs#display
如果您需要其他帮助,请在下方发表评论,如果我不够清楚,给您带来的不便,我深表歉意。享受你的一天!
【讨论】:
以上是关于HybridAuth:如何为现有用户请求额外权限?的主要内容,如果未能解决你的问题,请参考以下文章