Авторизация 1С через GoDeli Identity
Долгоживущие статические токены обмена не поддерживаются. Для каждой интеграции
1С регистрируется отдельный OAuth 2.0 machine-to-machine клиент, связанный с
tenant_id, integration_id и point_id.
Получение токена
POST https://identity.godeli.ru/v1/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&
client_id=gdl_cli_...&
client_secret=gdl_sec_...&
scope=onec.catalog.write%20onec.changes.write%20onec.events.read
Authorization server возвращает короткоживущий Bearer JWT:
{
"access_token": "eyJ...",
"token_type": "Bearer",
"expires_in": 600,
"scope": "onec.catalog.write onec.changes.write onec.events.read"
}
После истечения срока действия 1С запрашивает новый JWT с теми же credentials по
grant type client_credentials. Refresh token для machine-to-machine клиента не
выдаётся.
Scopes
| Scope | Endpoint |
|---|---|
onec.catalog.write | POST .../catalog-structure, POST .../attribute-definitions, POST .../catalog-snapshot |
onec.changes.write | POST .../changes |
onec.events.read | GET .../events/{event_id} |
Токен должен содержать audience godeli-integration-onec-service. Значения claims
tenant_id, integration_id и point_id должны соответствовать интеграции из
URL. Подпись EdDSA проверяется по JWKS GoDeli Identity без выполнения удалённого
запроса на интроспекцию для каждого события.
Ротация
client_secret показывается один раз. При компрометации администратор выпускает новый
секрет и отзывает предыдущий. Короткоживущие JWT перестают действовать максимум через
10 минут; workload client можно отключить целиком немедленно.