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全球用戶使用?