Hitri začetek za avtentifikacijo Shell
Uvod
API za avtentifikacijo Shell omogoča partnerskim aplikacijam avtentifikacijo prek API Gateway z uporabo postopka za avtentifikacijo stranke OAuth 2.0. Ta API zagotavlja časovno omejene dostopne žetone, ki avtorizirajo zahteve do Shellovih API-jev ter tako zagotavljajo varno komunikacijo med vašo aplikacijo in Shellovimi storitvami.
| Prednosti | Opis |
|---|---|
| Varen dostop | Standard OAuth 2.0 z časovno omejenimi žetoni |
| Enostavna integracija | Enotna končna točka za ustvarjanje žetonov |
| Prilagodljiva okolja | Podpora za testna in produkcijska okolja |
Preverjanje pristnosti
Opomba o migraciji
Ta API ponuja različici v1 in v2 končne točke za žetone OAuth. Različica 1 je zastarela in bo odstranjena v naslednjem obdobju sprememb. Nove integracije morajo uporabljati različico v2, obstoječi uporabniki pa morajo čim prej preiti na različico v2. Glavne razlike so v formatu odgovora: različica v2 uporablja standardna imena polj OAuth (expires_in namesto expires_in(seconds) ter Bearer namesto BearerToken).
Postopek avtorizacije
- Zahteva za ID stranke in skrivni ključ
Obrnite se na ekipo Shell API, da zahtevate dostop do avtentifikacije OAuth. Ekipa Shell API vam bo posredovala ID stranke in skrivni ključ.
- Zahtevajte Bearer token
Ko prejmete poverilnice, pošljite zahtevo na končno točko za OAuth-token API-ja za avtentifikacijo Shell s svojimi poverilnicami.
Primer zahtevka:
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 odgovoru boste prejeli žeton Bearer:
{
"access_token": "**************",
"expires_in": "899",
"token_type": "Bearer"
}Opomba: Čas poteka veljavnosti žetona Bearer je naveden v sekundah.
- Avtorizacija zahtevkov API
Pri klicu API-jev Shell v glavo zahtevka vključite naslednje.
Authorization: Bearer access_tokenOsnovni URL-ji
| Okolje | URL |
|---|---|
| Test | https://api-test.shell.com |
| Proizvodno okolje | https://api.shell.com |
Osnovna integracija
1. Ustvarjanje OAuth-token
Opis: Zahtevajte OAuth-token za dostop z uporabo svojih poverilnic odjemalca. API vrne časovno omejen Bearer-token, ki ga je treba vključiti v glavo »Authorization« vseh nadaljnjih zahtevkov API. Zaradi varnostnih ukrepov se namesto metode GET uporablja metoda POST, da se prepreči shranjevanje v predpomnilniku.
Pot: POST /v2/oauth/token
Primer zahtevka
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'Parametri zahtevka
| Parameter | Tip | Obvezno | Opis |
|---|---|---|---|
| client_id | niz | Da | ID stranke, ki ga je zagotovil Shell |
| client_secret | niz | Da | Skrivni ključ stranke, ki ga je zagotovil Shell |
| grant_type | niz | Da | Vrednost vrste dodelitve za dostop (uporabite »client_credentials«) |
Primer odgovora
{
"access_token": "NiE3gzPNVFpwYYMyyWu6mGFYtKN5",
"expires_in": "899",
"token_type": "Bearer"
}Parametri odgovora
| Parameter | Vrsta | Opis |
|---|---|---|
| access_token | niz | Generiran dostopni žeton za uporabo v zahtevkih API |
| expires_in | niz | Trajanje veljavnosti v sekundah |
| token_type | niz | Vrsta žetona (Bearer) |
Obravnavanje napak
API uporablja standardne HTTP-statusne kode. V primeru napake bodo dodatni podatki navedeni v telesu odgovora.
| Koda napake | Opis | Rešitev |
|---|---|---|
| 400 | Nepravilna zahteva - Zahteva vsebuje napačno sintakso ali je ni mogoče izpolniti | Preverite, ali so vključeni vsi zahtevani parametri in ali so pravilno oblikovani |
| 401 | Neveljavna identifikacijska številka odjemalca - Manjka glava »Authorization« ali so poverilnice neveljavne | Preverite, ali sta vaša »client_id« in »client_secret« pravilna ter ustrezno kodirana |
| 403 | Prepovedano - Stranka nima dostopnih pravic | Obrnite se na ekipo Shell API, da preverite svoja dostopna dovoljenja |
| 404 | Ni najdeno - Ni mogoče identificirati proxyja za zahtevano URL-naslov | Preverite, ali je URL končne točke pravilna za vaše okolje |
| 405 | Metoda ni dovoljena - HTTP-metoda ni podprta za ta vir | Prepričajte se, da za končno točko tokena uporabljate metodo POST |
| 500 | Notranja napaka strežnika - Izvedba na strežniku ni uspela | Ponovite zahtevo; če težava vztraja, se obrnite na podporo Shell |
