Skip to main content

Shell Authentication 1.0.1

This API enables an application to authenticate with a time-sensitive access token as part of the OAuth Authorisation flow.

Получаване на актуализации за промяна на състоянието, поддръжка и версия за този API.

Бързо начало за автентификация чрез Shell

Въведение

API-то за автентификация чрез Shell позволява на партньорските приложения да се автентифицират в API Gateway, като използват потока за клиентски идентификационни данни по OAuth 2.0. Този API предоставя токени за достъп с ограничена валидност, които оторизират заявки към API-та на Shell, като осигуряват сигурна комуникация между вашето приложение и услугите на Shell.

Предимства Описание
Сигурен достъп Стандарт OAuth 2.0 с токени с ограничена валидност
Лесна интеграция Единна крайна точка за генериране на токени
Гъвкави среди Поддръжка както за тестови, така и за производствени среди

Удостоверяване

Забележка за миграция

Този API предоставя както версия v1, така и версия v2 на крайната точка за токени по OAuth. Версия 1 е остаряла и ще бъде премахната при следващия цикъл на промени. Новите интеграции трябва да използват v2, а съществуващите потребители трябва да мигрират към v2 възможно най-скоро. Основните разлики са във формата на отговора: v2 използва стандартни имена на полета за OAuth (expires_in вместо expires_in(seconds) и Bearer вместо BearerToken).

Процес на оторизация

  1. Искане на клиентски идентификатор и тайна

Свържете се с екипа на Shell API, за да поискате достъп до OAuth автентификация. Екипът на Shell API ще ви предостави клиентски идентификатор и тайна.

  1. Искане на Bearer токен

След като получите данните за достъп, изпратете заявка към крайната точка за OAuth токен на Shell Authentication API, като използвате вашите идентификационни данни.

Пример за заявка:

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'

В отговора ще получите токен от типа „Bearer“:

{
   "access_token": "**************",
   "expires_in": "899",
   "token_type": "Bearer"
}

Забележка: Времето за изтичане на валидността на токена „Bearer“ се посочва в секунди.

  1. Упълномощаване на API заявки

Когато извиквате Shell API-та, включете следното в заглавката на заявката.

Authorization: Bearer access_token

Базови URL адреси

Среда URL
Тест https://api-test.shell.com
Производствена среда https://api.shell.com

Основна интеграция

1. Генериране на OAuth токен

Описание: Искане на OAuth токен за достъп, използвайки вашите клиентски идентификационни данни. API-то връща Bearer токен с ограничена валидност, който трябва да бъде включен в заглавката „Authorization“ на всички последващи API заявки. Поради мерки за сигурност се използва методът POST вместо GET, за да се предотврати кеширането.

Път: POST /v2/oauth/token

Примерно заявка

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'

Параметри на заявката

Параметър Тип Задължителен Описание
client_id низ Да Идентификатор на клиента, предоставен от Shell
client_secret низ Да Тайна на клиента, предоставена от Shell
grant_type низ Да Стойност на типа на разрешението за достъп (използвайте "client_credentials")

Пример за отговор

{
  "access_token": "NiE3gzPNVFpwYYMyyWu6mGFYtKN5",
  "expires_in": "899",
  "token_type": "Bearer"
}

Параметри на отговора

Параметър Тип Описание
access_token string Генериран токен за достъп, който се използва в заявките към API
expires_in string Срок на валидност в секунди
token_type string Тип на токена (Bearer)

Обработка на грешки

API-то използва стандартни HTTP статусни кодове. В случай на грешка в тялото на отговора ще бъдат предоставени допълнителни подробности.

Код на грешката Описание Решение
400 Невалидно заявка - Заявката съдържа грешки в синтаксиса или не може да бъде изпълнена Уверете се, че всички задължителни параметри са включени и правилно форматирани
401 Невалиден идентификатор на клиента - Липсва заглавката „Authorization“ или данните за удостоверяване са невалидни Уверете се, че client_id и client_secret са правилни и правилно кодирани
403 Забранено - Клиентът няма права за достъп Свържете се с екипа на Shell API, за да проверите разрешенията си за достъп
404 Не е намерено - Не е възможно да се идентифицира прокси сървърът за поискания URL Уверете се, че URL адресът на крайната точка е правилен за вашата среда
405 Методът не е разрешен - HTTP методът не се поддържа за този ресурс Уверете се, че използвате метода POST за крайната точка на токена
500 Вътрешна грешка на сървъра - Изпълнението се провали на сървъра Опитайте отново заявката; свържете се с поддръжката на Shell, ако проблемът продължава

За нас

Порталът за разработчици на Shell подпомага партньорите при интегрирането с API-та на Shell и превръщането на идеите в решения, готови за внедряване в производството.

Лого на Shell

Свържете се с

Влезте в профила си

Попитайте AI Assistant за API-та и API продуктите на Shell