0
我写了一个facebook登录模块,并使用了facebook php-sdk。Facebook以drupal用户身份登录用户
这里是我的代码:
function facebook_block_block_view($delta='') {
$block = array();
require 'src/facebook.php';
$appid = variable_get('appid_variable', '');
$secret = variable_get('secret_variable', '');
$facebook = new Facebook(array(
'appId' => $appid,
'secret' => $secret,
));
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
$new_user = array(
'name' => $user_profile['name'],
// 'pass' => 'Password',
'mail' => $user_profile['email'],
'signature_format' => 'full_html',
'status' => 1,
'timezone' => 'America/New_York',
'init' => 'Email',
'roles' => 'Roles',
);
$account= user_save(NULL, $new_user);
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
$output='<a href="'.$facebook->getLoginUrl().'"> Login with facebook</a>';
switch($delta) {
case 'facebook_login' :
$block['content'] = $output;
break;
}
return $block;
}
现在,我可以得到用户的电子邮件和名字,我还可以保存用户的信息。但我怎样才能让facebook用户成为drupal用户,用户可以作为drupal全球用户使用?