Client Credentials Flow

Client Credentials Flow — стандартный способ машинной аутентификации для тиражируемых интеграций без участия пользователя. Поток выдаёт access_token, который используется для доступа к API от имени приложения (клиента).

Термины

  • Клиент (конфиденциальный) — ваше серверное приложение или интеграция.
  • Авторизационный серверauth.regos.uz (Единый профиль).
  • Ресурсный сервер — целевой API, принимающий access_token.

Что подготовить

  1. Получите client_id и client_secret у сотрудников REGOS.
  2. Обеспечьте HTTPS во всех запросах с вашего сервера.

Важно. Храните client_secret только на сервере (в защищённом хранилище). Не встраивайте секреты в фронтенд или мобильные приложения.

Шаг 1. Получите токен приложения

Endpoint: https://auth.regos.uz/oauth/token
Метод: POST
Заголовок: Content-Type: application/x-www-form-urlencoded

Тело запроса:

  • grant_type=client_credentials
  • client_id
  • client_secret

Пример (cURL, параметры в теле):

curl -X POST https://auth.regos.uz/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=client_123abcd45ef678901" \
  -d "client_secret=s3cr3t_ABC123" \

Ответ сервера: токен и использование

Успешный ответ содержит:

  • access_token — токен доступа к API;
  • token_typeBearer;
  • expires_in — срок жизни access_token (в секундах).

Пример:

{
  "access_token": "eyJhbGciOiJ...access...",
  "token_type": "Bearer",
  "expires_in": 3600
}

Важно. В Client Credentials Flow не выдаются id_token и refresh_token.