Я новичок в токенах bigcommerce и jwt. Я пытаюсь получить имя пользователя api для входа в магазин трейлов. Но они не смогли успешно войти в систему автоматически.
Я получил его работать один или два раза, но теперь он больше не работает, и он не может понять странное поведение, так как ничего не изменилось с кодом. Я пробовал googling, если у кого-то еще были проблемы с клиентом login api, но ничего не нашел.
Я прошел через учебник по https://developer.bigcommerce.com/api/v2/#customer-login-api и скопировал приведенный пример. Есть ли что-то, что мне не хватает с кодом ниже?
Благодарю.
Вот код php ниже:
include "vendor/autoload.php"; use Bigcommerce\Api\Client as Bigcommerce; use Firebase\JWT\JWT; function getCustomerLoginToken($id, $redirectUrl = '', $requestIp = '') { /* if (empty(self::$client_secret)) { throw new Exception('Cannot sign customer login tokens without a client secret'); } */ $payload = array( 'iss' => '#MyApp1's Client ID#', 'iat' => time(), 'jti' => bin2hex(random_bytes(32)), 'operation' => 'customer_login', 'store_hash' => '#Store Hash#', 'customer_id' => $id ); if (!empty($redirectUrl)) { $payload['redirect_to'] = $redirectUrl; } if (!empty($requestIp)) { $payload['request_ip'] = $requestIp; } return JWT::encode($payload, "#MyApp1's Client Secret#", "HS256"); } $jwt = getCustomerLoginToken(1); header("Location: " . 'https://store-#Store Hash#.mybigcommerce.com/login/token/' . $jwt); exit();
Существует несколько ограничений, которые могут вызвать ошибки:
Поддержка BigCommerce имеет доступ к журналам, которые могут пролить свет на ситуацию, если вы исключили вышеизложенное.
Надеюсь это поможет!