Rýchly sprievodca overovaním prostredníctvom Shell
Úvod
Rozhranie API pre overovanie prostredníctvom Shell umožňuje partnerským aplikáciám overovať sa v API Gateway pomocou postupu overovania prostredníctvom klientskych poverení OAuth 2.0. Toto rozhranie API poskytuje časovo obmedzené prístupové tokeny, ktoré autorizujú požiadavky na rozhrania API spoločnosti Shell, čím zabezpečuje bezpečnú komunikáciu medzi vašou aplikáciou a službami spoločnosti Shell.
| Výhody | Popis |
|---|---|
| Bezpečný prístup | Štandard OAuth 2.0 s časovo obmedzenými tokenmi |
| Jednoduchá integrácia | Jediný koncový bod na generovanie tokenov |
| Flexibilné prostredia | Podpora testovacích aj produkčných prostredí |
Overovanie
Poznámka k migrácii
Toto API poskytuje verzie v1 aj v2 koncového bodu pre tokeny OAuth. Verzia 1 je zastaraná a bude odstránená v najbližšom okne zmien. Nové integrácie by mali používať verziu v2 a existujúci používatelia by mali čo najskôr prejsť na verziu v2. Hlavné rozdiely spočívajú vo formáte odpovede: verzia v2 používa štandardné názvy polí OAuth (expires_in namiesto expires_in(seconds) a Bearer namiesto BearerToken).
Autorizačný tok
- Žiadosť o ID klienta a tajný kľúč
Obráťte sa na tím Shell API s žiadosťou o prístup k overovaniu OAuth. Tím Shell API vám poskytne ID klienta a tajný kľúč.
- Žiadosť o token Bearer
Akonáhle získate prihlasovacie údaje, odošlite žiadosť na koncový bod pre token OAuth rozhrania Shell Authentication API so svojimi prihlasovacími údajmi.
Príklad požiadavky:
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 odpovedi dostanete token typu Bearer:
{
"access_token": "**************",
"expires_in": "899",
"token_type": "Bearer"
}Poznámka: Čas vypršania platnosti tokenu typu „Bearer“ je uvedený v sekundách.
- Autorizácia požiadaviek na API
Pri volaní rozhraní API Shellu zahrňte do hlavičky požiadavky nasledujúci text.
Authorization: Bearer access_tokenZákladné URL adresy
| Prostredie | URL |
|---|---|
| Test | https://api-test.shell.com |
| Produkčné prostredie | https://api.shell.com |
Základná integrácia
1. Generovanie tokenu OAuth
Popis: Požiadajte o prístupový token OAuth pomocou svojich klientskych poverení. API vráti časovo obmedzený token typu „Bearer“, ktorý musí byť zahrnutý v hlavičke „Authorization“ všetkých nasledujúcich požiadaviek na API. Z bezpečnostných dôvodov sa namiesto metódy GET používa metóda POST, aby sa zabránilo ukladaniu do vyrovnávacej pamäte.
Cesta: POST /v2/oauth/token
Ukážková požiadavka
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'Parametre požiadavky
| Parameter | Typ | Povinné | Popis |
|---|---|---|---|
| client_id | reťazec | Áno | ID klienta poskytnuté spoločnosťou Shell |
| client_secret | reťazec | Áno | Tajný kľúč klienta poskytnutý spoločnosťou Shell |
| grant_type | reťazec | Áno | Hodnota typu udelenia prístupu (použite „client_credentials“) |
Vzorová odpoveď
{
"access_token": "NiE3gzPNVFpwYYMyyWu6mGFYtKN5",
"expires_in": "899",
"token_type": "Bearer"
}Parametre odpovede
| Parameter | Typ | Popis |
|---|---|---|
| access_token | reťazec | Vygenerovaný prístupový token na použitie v požiadavkách API |
| expires_in | reťazec | Doba platnosti v sekundách |
| token_type | reťazec | Typ tokenu (Bearer) |
Spracovanie chýb
API používa štandardné stavové kódy HTTP. V prípade chyby budú v tele odpovede uvedené ďalšie podrobnosti.
| Kód chyby | Popis | Riešenie |
|---|---|---|
| 400 | Chybná požiadavka - Žiadosť obsahuje nesprávnu syntax alebo ju nie je možné spracovať | Overte, či sú zahrnuté všetky požadované parametre a či sú správne naformátované |
| 401 | Neplatné ID klienta - Chýba hlavička Authorization alebo sú neplatné prihlasovacie údaje | Overte, či sú vaše client_id a client_secret správne a riadne zakódované |
| 403 | Zakázané - Klient nemá prístupové práva | Obráťte sa na tím Shell API, aby overil vaše prístupové oprávnenia |
| 404 | Nenájdené - Nepodarilo sa identifikovať proxy pre požadovanú URL | Overte, či je URL koncového bodu správna pre vaše prostredie |
| 405 | Metóda nie je povolená - Pre tento zdroj nie je podporovaná metóda HTTP | Uistite sa, že pre koncový bod tokenu používate metódu POST |
| 500 | Vnútorná chyba servera - Vykonanie na serveri zlyhalo | Skúste žiadosť znova; ak problém pretrváva, kontaktujte podporu Shell |
