2015-04-07 51 views
0

我們正在爲Drupal 7站點實施Web服務(該Web服務代碼不是drupal安裝文件夾的一部分)。實現用戶在鉤子菜單中輸入密碼

其中一個Web服務需要在站點上註冊用戶。 主要障礙是得到Drupal也會識別的哈希密碼。

爲此,我遵循堆棧溢出的建議在Drupal中實現REST服務,並從外部服務代碼中調用該服務。 (這部分似乎也是可能的和可實現的)。

已實施了密碼哈希服務與下面的代碼:

function GetHashedPassword($string) 
{ 
    require_once DRUPAL_ROOT . '/' . variable_get('password_inc', 'includes/password.inc'); 

    $hashedpw = user_hash_password($string); 

    $data = array(
     'password' => $hashedpw 
    ); 

    header("Access-Control-Allow-Origin: *"); 

    drupal_json_output($data); 
    drupal_exit(); 
} 

的主要問題是現在,每當此服務,即使相同的字符串調用,它每次都返回一個新的哈希值..

好心幫助,如果我們需要的究竟是什麼,甚至有可能,如果是這樣,那麼什麼可以固定在上面的代碼

任何幫助讚賞

+0

您是否試圖在Drupal或外部系統中創建用戶?我以前的建議實際上是爲了讓你的外部服務觸發Drupal中的一個自定義模塊來創建用戶,並將一個id或全部用戶json返回給你的外部腳本。也許你可以更多地解釋你想要達到的目標。 – squall3d

+0

是的,這就是我們所做的。在drupal中使用hook_menu實現了一個REST服務,並在外部代碼 –

回答

0

函數Drupal user_hash_password每次計算哈希時都會生成一個新的鹽。這將導致產生一個新的散列,因爲salt可能與最後一個不同。

+0

中調用了它,謝謝你的回答。用戶似乎登錄正常 –