Реализация Netsuite Oauth с PHP – неверная попытка входа в системуPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Реализация Netsuite Oauth с PHP – неверная попытка входа в систему

Сообщение Anonymous »

Я пытался реализовать авторизацию OAuth для API NetSuite с помощью PHP, но продолжаю получать неверные попытки входа в систему.
Я уже перечитывал свой код снова и снова, но так и не увидел что здесь не так.
Вот мой код:

Код: Выделить всё

public function call_api($end_point, $method, $data = false) {
$timestamp = time();
$nonce = uniqid(mt_rand(1, 1000));

$curl = curl_init();

$url = "https://5735036-sb1.suitetalk.api.netsuite.com/services/rest/record/v1/customer";

switch ($method) {
case 'POST':
curl_setopt($curl, CURLOPT_POST, 1);

if ($data) {
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
}

break;
default:
if ($data) {
$url = sprintf('%s?%s', $url, http_build_query($data));
}
}

$parameters = array(
'limit' => '100',
'oauth_consumer_key' => $this->consumer_key,
'oauth_nonce' => $nonce,
'oauth_signature_method' => 'HMAC-SHA256',
'oauth_timestamp' => $timestamp,
'oauth_token' => $this->access_token_id,
'oauth_version' => '1.0',
'offset' => '100',
'sort' => 'start:asc'
);

$signature_base_string = $method . "&" . rawurlencode($url) . "&" . rawurlencode(http_build_query($parameters, '', '&'));

$signature_key = rawurlencode($this->consumer_secret) . '&' . rawurlencode($this->access_token_secret);
$oauthSig = rawurlencode(base64_encode(hash_hmac("sha256", $signature_base_string, $signature_key, true)));

$headers = array(
'Authorization: OAuth ' .
'realm="5735036_SB1", ' .
'oauth_consumer_key="' . rawurlencode($this->consumer_key) . '", ' .
'oauth_token="' . rawurlencode($this->access_token_id) . '", ' .
'oauth_signature_method="HMAC-SHA256", ' .
'oauth_timestamp="' . rawurlencode($timestamp) . '", ' .
'oauth_nonce="' . rawurlencode($nonce) . '", ' .
'oauth_version="1.0", ' .
'oauth_signature="' . rawurlencode($oauthSig) . '"'
);

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);

$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
$body = substr($result, $header_size);

curl_close($curl);

$body = json_decode($body);

return $body;
}
Вот ошибка:

Код: Выделить всё

object(stdClass)#12 (4) {
["type"]=>
string(58) "https://www.rfc-editor.org/rfc/rfc9110.html#section-15.5.2"
["title"]=>
string(12) "Unauthorized"
["status"]=>
int(401)
["o:errorDetails"]=>
array(1) {
[0]=>
object(stdClass)#13 (2) {
["detail"]=>
string(152) "Invalid login attempt. For more details, see the Login Audit Trail in the NetSuite UI at Setup > Users/Roles > User Management > View Login Audit Trail."
["o:errorCode"]=>
string(13) "INVALID_LOGIN"
}
}
}
Все мои учетные данные, очевидно, верны (он хорошо работает через Postman).
Будем очень признательны за любые идеи о том, что может быть не так.
Все мои учетные данные, очевидно, верны (он хорошо работает через Postman).
Будем очень признательны за любую информацию о том, что может быть не так.
п>

Подробнее здесь: https://stackoverflow.com/questions/787 ... in-attempt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»