Shell hitelesítés – Gyors útmutató
Bevezetés
A Shell hitelesítési API lehetővé teszi a partneralkalmazások számára, hogy az OAuth 2.0 kliens hitelesítőadatok áramlásának segítségével hitelesítsék magukat az API Gateway-en. Ez az API időkorlátozott hozzáférési tokeneket biztosít, amelyek engedélyezik a Shell API-khoz intézett kéréseket, így garantálva az alkalmazás és a Shell szolgáltatásai közötti biztonságos kommunikációt.
| Előnyök | Leírás |
|---|---|
| Biztonságos hozzáférés | OAuth 2.0 szabvány időkorlátozott tokenekkel |
| Egyszerű integráció | Egyetlen végpont a token generálásához |
| Rugalmas környezetek | Támogatás mind a teszt-, mind az éles környezetekhez |
Hitelesítés
Áttérési megjegyzés
Ez az API az OAuth-token végpont v1-es és v2-es verzióit egyaránt biztosítja. Az 1. verzió elavult, és egy közelgő frissítési ciklusban eltávolításra kerül. Az új integrációknak a v2-t kell használniuk, a meglévő felhasználóknak pedig a lehető leghamarabb át kell állniuk a v2-re. A főbb különbségek a válaszformátumban vannak: a v2 a szabványos OAuth mezőneveket használja (expires_in a expires_in(seconds) helyett, valamint Bearer a BearerToken helyett).
Engedélyezési folyamat
- Ügyfél-azonosító és titkos kulcs igénylése
Vegye fel a kapcsolatot a Shell API csapattal az OAuth-hitelesítéshez való hozzáférés igényléséhez. A Shell API csapat megadja az ügyfél-azonosítót és a titkos kulcsot.
- Bearer token igénylése
Miután megkapta a hitelesítő adatokat, küldjön kérést a Shell Authentication API OAuth-token végpontjához a hitelesítő adataival.
Példa kérelemre:
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'A válaszban egy Bearer token-t fog kapni:
{
"access_token": "**************",
"expires_in": "899",
"token_type": "Bearer"
}Megjegyzés: A Bearer token lejárati ideje másodpercben van megadva.
- API-kérelmek engedélyezése
A Shell API-k meghívásakor a kérelem fejlécében szerepeltesse a következőket.
Authorization: Bearer access_tokenAlap-URL-ek
| Környezet | URL |
|---|---|
| Teszt | https://api-test.shell.com |
| Termelés | https://api.shell.com |
Alapvető integráció
1. OAuth-token generálása
Leírás: Kérjen OAuth-hozzáférési tokent az ügyfél hitelesítő adataival. Az API egy időkorlátos Bearer-tokent ad vissza, amelyet minden későbbi API-kérés Authorization fejlécében fel kell tüntetni. Biztonsági okokból a GET helyett a POST módszert használjuk a gyorsítótárazás megakadályozása érdekében.
Útvonal: POST /v2/oauth/token
Példakérés
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'Kérésparaméterek
| Paraméter | Típus | Kötelező | Leírás |
|---|---|---|---|
| client_id | string | Igen | A Shell által megadott ügyfél-azonosító |
| client_secret | string | Igen | A Shell által megadott ügyfél-titkos kulcs |
| grant_type | string | Igen | A hozzáféréshez szükséges engedélytípus értéke (használja a „client_credentials” értéket) |
Minta válasz
{
"access_token": "NiE3gzPNVFpwYYMyyWu6mGFYtKN5",
"expires_in": "899",
"token_type": "Bearer"
}Válaszparaméterek
| Paraméter | Típus | Leírás |
|---|---|---|
| access_token | string | Az API-kérelmekben használható, generált hozzáférési token |
| expires_in | string | A lejárati idő másodpercben kifejezve |
| token_type | string | Token típus (Bearer) |
Hibakezelés
Az API szabványos HTTP-állapotkódokat használ. Hiba esetén további részletek szerepelnek a válasz törzsében.
| Hibakód | Leírás | Megoldás |
|---|---|---|
| 400 | Hibás kérés - A kérés szintaxishibás, vagy nem teljesíthető | Ellenőrizze, hogy minden szükséges paraméter szerepel-e, és azok formázása megfelelő-e |
| 401 | Érvénytelen ügyfél-azonosító - Hiányzik az Authorization fejléc vagy az azonosító adatok érvénytelenek | Ellenőrizze, hogy a client_id és a client_secret helyesek-e és megfelelően vannak-e kódolva |
| 403 | Tiltva - Az ügyfél nem rendelkezik hozzáférési jogokkal | Vegye fel a kapcsolatot a Shell API csapattal a hozzáférési jogosultságok ellenőrzése érdekében |
| 404 | Nem található - Nem sikerült azonosítani a kért URL-hez tartozó proxyt | Ellenőrizze, hogy a végpont URL-je megfelelő-e a környezetéhez |
| 405 | A módszer nem megengedett - A HTTP-módszer nem támogatott ehhez az erőforráshoz | Győződjön meg arról, hogy a token végponthoz a POST módszert használja |
| 500 | Belső szerverhiba - A végrehajtás sikertelen volt a szerveren | Próbálja meg újra a kérést; ha a probléma továbbra is fennáll, vegye fel a kapcsolatot a Shell ügyfélszolgálattal |
