Rychlý start pro ověřování Shell
Úvod
Rozhraní API pro ověřování Shell umožňuje partnerským aplikacím ověřovat se u API Gateway pomocí toku přihlašovacích údajů klienta OAuth 2.0. Toto API poskytuje časově omezené přístupové tokeny, které autorizují požadavky na API společnosti Shell a zajišťují bezpečnou komunikaci mezi vaší aplikací a službami společnosti Shell.
| Výhody | Popis |
|---|---|
| Bezpečný přístup | Standard OAuth 2.0 s časově omezenými tokeny |
| Jednoduchá integrace | Jediný koncový bod pro generování tokenů |
| Flexibilní prostředí | Podpora testovacích i produkčních prostředí |
Ověřování
Poznámka k migraci
Toto API poskytuje koncový bod pro tokeny OAuth ve verzích v1 i v2. Verze 1 je zastaralá a bude odstraněna v rámci nadcházejícího okna změn. Nové integrace by měly používat verzi v2 a stávající uživatelé by měli na verzi v2 přejít co nejdříve. Hlavní rozdíly spočívají ve formátu odpovědi: verze v2 používá standardní názvy polí OAuth (expires_in namísto expires_in(seconds) a Bearer namísto BearerToken).
Autorizační tok
- Žádost o ID klienta a tajný klíč
Kontaktujte tým Shell API a požádejte o přístup k ověřování OAuth. Tým Shell API vám poskytne ID klienta a tajný klíč.
- Žádost o token Bearer
Jakmile získáte přihlašovací údaje, odešlete žádost na koncový bod pro OAuth token v API ověřování Shell s vašimi přihlašovacími údaji.
Příklad požadavku:
curl --location --request POST 'https://api-test.shell.com/v2/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=**************' \
--data-urlencode 'client_secret=**************' \
--data-urlencode 'grant_type=client_credentials'V odpovědi obdržíte token typu „Bearer“:
{
"access_token": "**************",
"expires_in": "899",
"token_type": "Bearer"
}Poznámka: Doba platnosti tokenu typu „Bearer“ je uvedena v sekundách.
- Autorizace požadavků na API
Při volání API Shellu uveďte v hlavičce požadavku následující:
Authorization: Bearer access_tokenZákladní URL
| Prostředí | URL |
|---|---|
| Test | https://api-test.shell.com |
| Produkční prostředí | https://api.shell.com |
Integrace jádra
1. Generování tokenu OAuth
Popis: Požádejte o přístupový token OAuth pomocí svých klientských přihlašovacích údajů. API vrátí časově omezený token typu „Bearer“, který musí být zahrnut v hlavičce „Authorization“ všech následujících požadavků na API. Z bezpečnostních důvodů se místo metody GET používá metoda POST, aby se zabránilo ukládání do mezipaměti.
Cesta: POST /v2/oauth/token
Ukázkový požadavek
curl --location --request POST 'https://api-test.shell.com/v2/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=twuwywTYUHAH6AHHJ' \
--data-urlencode 'client_secret=yuahaYThdvdowoUUU7wjsjMM' \
--data-urlencode 'grant_type=client_credentials'Parametry požadavku
| Parametr | Typ | Povinné | Popis |
|---|---|---|---|
| client_id | řetězec | Ano | ID klienta poskytnuté společností Shell |
| client_secret | řetězec | Ano | Tajný klíč klienta poskytnutý společností Shell |
| grant_type | řetězec | Ano | Hodnota typu udělení pro přístup (použijte „client_credentials“) |
Ukázková odpověď
{
"access_token": "NiE3gzPNVFpwYYMyyWu6mGFYtKN5",
"expires_in": "899",
"token_type": "Bearer"
}Parametry odpovědi
| Parametr | Typ | Popis |
|---|---|---|
| access_token | řetězec | Vygenerovaný přístupový token pro použití v požadavcích na API |
| expires_in | řetězec | Doba platnosti v sekundách |
| token_type | řetězec | Typ tokenu (Bearer) |
Zpracování chyb
API používá standardní stavové kódy HTTP. V případě chyby budou v těle odpovědi uvedeny další podrobnosti.
| Chybový kód | Popis | Řešení |
|---|---|---|
| 400 | Chybný požadavek - Žádost obsahuje syntaktickou chybu nebo ji nelze zpracovat | Ověřte, zda jsou zahrnuty všechny požadované parametry a zda mají správný formát |
| 401 | Neplatné ID klienta - Chybí hlavička Authorization nebo jsou přihlašovací údaje neplatné | Ověřte, zda jsou vaše client_id a client_secret správné a správně zakódované |
| 403 | Zakázáno - Klient nemá přístupová práva | Obraťte se na tým Shell API a ověřte si svá přístupová oprávnění |
| 404 | Nenalezeno - Nelze identifikovat proxy pro požadovanou URL | Ověřte, zda je URL koncového bodu správná pro vaše prostředí |
| 405 | Metoda není povolena - Tato HTTP metoda není pro tento zdroj podporována | Ujistěte se, že pro koncový bod tokenu používáte metodu POST |
| 500 | Vnitřní chyba serveru - Provedení selhalo na serveru | Zkuste požadavek znovu; pokud problém přetrvává, kontaktujte podporu Shell |
