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();