OpenID Connect (OIDC) — слой аутентификации поверх OAuth 2.1. OAuth даёт авторизацию («что можно делать»), OIDC добавляет аутентификацию («кто это»).
Главное отличие
OAuth 2.1 выдаёт access token — непрозрачный токен для доступа к API. OIDC добавляет ID token — JWT с информацией о пользователе.
ID Token
ID token — это JWT, который содержит стандартные claims:
{
"iss": "https://id.versola.kz",
"sub": "user-uuid",
"aud": "my-app",
"exp": 1720003600,
"iat": 1720000000,
"nonce": "random-nonce",
"email": "user@example.com",
"name": "Иван Иванов"
}
| Claim | Описание |
|---|---|
iss |
Issuer — URL вашего Versola сервера |
sub |
Subject — уникальный ID пользователя |
aud |
Audience — client_id получателя |
exp |
Время истечения (Unix timestamp) |
iat |
Время выдачи (Unix timestamp) |
nonce |
Защита от replay-атак |
Discovery Document
Versola публикует метаданные по стандартному адресу:
GET /.well-known/openid-configuration
Клиенты могут автоматически получить все эндпоинты, поддерживаемые scopes и алгоритмы подписи — без ручной конфигурации.
JWKS Endpoint
Публичные ключи для верификации токенов:
GET /oauth/jwks
Используйте библиотеку JWT вашего языка для верификации подписи ID token.