2014-01-13 51 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全球用户使用?

回答