Magento Go SOAP API を使用してユーザーを認証しようとしていますが、一致するハッシュの生成に問題があります。ドキュメントによると、password_hash には password:salt が含まれていますが、md5 では password_hash と一致しません。
例:
1) 管理者コントロール パネルからパスワードを「testtest」に変更しました
2) 次のコードを実行します。
$client = new SoapClient('http://XXXX.gostorego.com/api/v2_soap/?wsdl');
$session = $client->login($api_user, $api_pass);
$params = array('filter'=>array(array('key'=>'email','value'=>'user@domain.com')));
$data = $client->customerCustomerList($session, $params);
echo '<pre>CUSTOMER: '.print_r($data, true).'</pre>';
if (count($data)) {
$hash = explode(':',$data[0]->password_hash);
$salt = $hash[1];
echo '<pre>HASH PARTS:'.print_r($hash, true).'</pre>';
echo '<br>' .md5($salt.$password);
}
3) password_hash は f35604820826428dd7633b91cd6078f4075c9bfa1a37db7bc70f563475ad8495:qK です。
4) MD5 は 0b04a656c770ba2f10b5918f94529cd8 です。