API клиента bigCommerce - клиент JWT для sso - PullRequest
0 голосов
/ 10 июня 2018

В моем приложении ( node-bigcommerce-sdk ) мои клиенты должны будут войти в систему, как если бы они были в магазине bc.Я могу проверить правильность предоставленного адреса электронной почты и пароля.Я не могу найти метод для обмена user_id и учетными данными моего приложения на токен, который можно использовать в sso ( описано здесь )

Я использовал python sdk ранееи сейчас я хочу выполнить следующую часть в nodejs:

bc_client = b.api.BigcommerceApi(client_id, store_hash, access_token)
login_token = sdk.customer_login_token.create(bc_client, customer.id)

(пока не работает)

let token = jwt.encode({
    "iss": account.clientId,
    "iat": 123456789,
    "jti": "uid-"+uid,
    "operation": "customer_login",
    "store_hash": account.storeHash,
    "customer_id": uid,
}, account.secret, 'HS512');
let sso_url = `${account.entry_url}/login/token/${token}`

пример полученного токена

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJja244ZzN5Z3V4MmY0cG14ZWw0M2dqbmJjOTViZ2FrIiwiaWF0IjoxMjM0NTY3ODksImp0aSI6InVpZC0xIiwib3BlcmF0aW9uIjoiY3VzdG9tZXJfbG9naW4iLCJzdG9yZV9oYXNoIjoiMmJpaHByMnd2eiIsImN1c3RvbWVyX2lkIjoiMSJ9.n4lygAJtfqhcrHnGEWle1far-Ee69xrgym-HWFWWwNWXB1-hBziKC03SK_y8PYjLBL_n43Q6K07YH9ysSV5a4g

${account.entry_url}/login/token/${token} приводит к сообщению об ошибке на веб-интерфейсе Invalid login. Please attempt to log in again.

...