Авторизация v200.1.0
Как получить пропуск (Bearer) и ходить в /api/v2: AuthToken, /me, /key/check.
Чтобы API вас «пустило» к новостям, пользователям и таблицам, нужен пропуск — строка access_token. Её кладут в заголовок запроса. Сырой API-ключ из админки на /table/… не подходит — сначала обмен на токен.
Что нужно заранее
- Установка
- API-ключ в DevCraft (страница Ключи)
- По желанию: OAuth-клиент
Как выглядит пропуск
Authorization: Bearer <AuthToken><AuthToken> — это access_token из ответа POST /oauth/token.
Без пропуска можно только:
GET /healthGET /.well-known/oauth-authorization-server
Слеш в конце пути не важен: /me и /me/ одинаковы.
Как завести приложение в админке: OAuth-клиенты. Готовые curl по способам входа: OAuth-сервер.
Способы получить токен (кратко)
Способ (credential_type) | Что передать | Когда удобно |
|---|---|---|
api_key | api_key | Скрипты, интеграции «ключ → токен» |
auth | username, password | Логин пользователя DLE |
oauth_client | client_id, client_secret | Сервер-к-серверу (M2M) |
Есть и классический OAuth: grant_type = authorization_code, refresh_token, client_credentials, password. Подробности и примеры — в oauth-server.
Кто я? — /me и /oauth/userinfo
curl -sS 'https://ВАШ_САЙТ/api/v2/me' \
-H 'Authorization: Bearer <AuthToken>'Ответ примерно такой: кто владеет токеном — user_id / sub, name, email, user_group, api_key_id, access_level.
Пароли, хеши, сырой ключ и client_secret сюда не попадают. Маскирование ПДн из .env действует на CRUD /table, не на этот identity-ответ.
Проверка сырого ключа: /key/check
Единственное место (кроме выдачи токена), куда можно слать сырой ключ из DevCraft:
curl -sS 'https://ВАШ_САЙТ/api/v2/key/check' \
-H 'Authorization: Bearer <apiKey>'Ответ: данные ключа (validFrom, validTo, уровень), какие scopes (read/write/edit/delete) и блок me. validTo: null — ключ бессрочный.
Для обычной работы с таблицами после проверки всё равно нужен AuthToken (credential_type=api_key).
Демо и маски
Флаги DEMO_MODE и DLEAPI_SECURE живут в корневом .env — полная инструкция: Инструкция .env.
Кратко: при DEMO_MODE=true токен не выдаётся, даже если ключ верный.
Права
Ключ привязан к уровню доступа: что можно читать/писать/удалять. Группы DLE → уровень: Синхронизация.