2014-01-13 47 views
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全球用戶使用?

回答