3
我是新来的bigcommerce和jwt令牌。我正在尝试让客户登录api在trail商店上工作。但无法自动成功登录客户。Bigcommerce客户登录API(单点登录)无效登录问题
我得到它的工作一次或两次,但现在它不再工作,并且无法找出奇怪的行为,因为代码没有任何改变。我尝试了谷歌搜索,如果其他人有客户登录API的问题,但一无所获。
我已经通过https://developer.bigcommerce.com/api/v2/#customer-login-api的教程并复制了所提供的示例。 有什么我失踪的代码如下?
- 我已经去了developer.bigcommerce.com并创建了一个草稿应用程序。
- 我从草稿应用程序获得了客户端ID和客户端密钥。
- 我已经进入我的试用商店并成功安装了草稿应用程序。
- 我已经在SSL上测试了此页面。
- 难道是因为它是一家小商店,它只有在真正的商店才有用?
谢谢。
这里是下面的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();