Аутентификация
Все IDCloud API (контракты Web & SDK и API) используют OAuth2 с JWT Bearer Grant Type (RFC 7523). Вы генерируете кратковременный JWT assertion на своём бэкенде, обмениваете его на Bearer-токен и используете этот токен в каждом последующем запросе.
JWT assertion должен генерироваться исключительно на вашем бэкенде. Никогда не раскрывайте закрытый ключ во фронтенд-коде, мобильных приложениях, репозиториях или журналах.
Получение учётных данных
Прежде чем генерировать токены, вам нужен сервисный аккаунт, вы данный Unico. Обратитесь в поддержку Unico и предоставьте:
- Название сервисного аккаунта (не более 12 символов)
- Имя, email и телефон ответственного лица (только номера Бразилии, США или Мексики)
Вы получите:
- Уникальное название аккаунта
- Tenant ID
- Базовую полезную нагрузку JWT
- Файл закрытого ключа (формат
.pem)
Используйте отдельные сервисные аккаунты для UAT и Production.
Создание JWT assertion
Assertion — это JWT в компактном формате JWS: {Base64url(Header)}.{Base64url(Payload)}.{Base64url(Signature)}.
{
"alg": "RS256",
"typ": "JWT"
}
| Claim | Значение | Примечания |
|---|---|---|
iss | <account_name>@<tenant_id>.iam.acesso.io | Предоставляется вместе с учётными данными |
aud | https://identityhomolog.acesso.io (UAT) или https://identity.acesso.io (Production) | Должен совпадать с хостом конечной точки токена |
scope | * | Предоставляет все разрешения |
iat | Временная метка Unix (в секундах) | Время выдачи JWT |
exp | iat + не более 3600 | Не может превышать 1 час от iat |
{
"aud": "https://identity.acesso.io",
"scope": "*",
"iat": 1738086000,
"exp": 1738089600
}
Подпишите заголовок и полезную нагрузку с помощью RS256 (RSA + SHA-256), используя закрытый ключ .pem, предоставленный Unico.
Любое поле, не указанное выше (например, sub, jti, nbf), вызовет ошибку 1.2.22. Используйте только перечисленные claims.