Перейти к основному содержимому

Интеграция VoxKey

VoxKey -- стандартный OIDC-провайдер. Любая библиотека или фреймворк с поддержкой OpenID Connect может интегрироваться с ним.

OIDC Discovery

Каждый realm предоставляет discovery-эндпоинт:

GET /oauth2/{realmUUID}/.well-known/openid-configuration

Возвращает все эндпоинты, поддерживаемые grant types и алгоритмы подписи. Большинство OIDC-клиентов могут автоматически настроиться по этому URL.

Основные эндпоинты

ЭндпоинтПутьОписание
АвторизацияPOST /oauth2/{realmUUID}/codeЗапуск потока входа
ТокенPOST /oauth2/{realmUUID}/tokenОбмен кода на токены
UserInfoGET /oauth2/{realmUUID}/userinfoИнформация о пользователе
JWKSGET /oauth2/{realmUUID}/oidc/jwksПубличные ключи для проверки JWT
ИнтроспекцияPOST /oauth2/{realmUUID}/introspectПроверка валидности токена (RFC 7662)
ОтзывPOST /oauth2/{realmUUID}/revokeОтзыв токенов (RFC 7009)

Порядок интеграции

  1. Зарегистрируйте приложение в админ-панели (Traditional Web, SPA или M2M)
  2. Настройте OIDC-клиент с discovery URL и креденшелами приложения
  3. Перенаправляйте пользователей на эндпоинт авторизации для входа
  4. Обменяйте authorization code на токены на эндпоинте токенов
  5. Валидируйте токены в API через JWKS или интроспекцию

Grant types

GrantСценарийТип клиента
Authorization Code + PKCEВход пользователя из SPAПубличный
Authorization CodeВход пользователя из серверного приложенияКонфиденциальный
Client CredentialsM2M / бэкенд-сервисыКонфиденциальный
Refresh TokenОбновление истекших access-токеновОба

Resource indicators

Для получения токенов, привязанных к конкретному API, передайте параметр resource в запросе токена:

curl -X POST https://your-domain.com/oauth2/{realmUUID}/token \
-d grant_type=authorization_code \
-d code=AUTH_CODE \
-d resource=https://api.example.com

Значение resource должно совпадать с indicator API Resource, настроенного в realm.

Что дальше