DevCraft Документации
Гайды

Авторизация v200.1.0

Как получить пропуск (Bearer) и ходить в /api/v2: AuthToken, /me, /key/check.

Чтобы API вас «пустило» к новостям, пользователям и таблицам, нужен пропуск — строка access_token. Её кладут в заголовок запроса. Сырой API-ключ из админки на /table/… не подходит — сначала обмен на токен.

Что нужно заранее

Как выглядит пропуск

Authorization: Bearer <AuthToken>

<AuthToken> — это access_token из ответа POST /oauth/token.

Без пропуска можно только:

  • GET /health
  • GET /.well-known/oauth-authorization-server

Слеш в конце пути не важен: /me и /me/ одинаковы.

Как завести приложение в админке: OAuth-клиенты. Готовые curl по способам входа: OAuth-сервер.

Способы получить токен (кратко)

Способ (credential_type)Что передатьКогда удобно
api_keyapi_keyСкрипты, интеграции «ключ → токен»
authusername, passwordЛогин пользователя DLE
oauth_clientclient_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 → уровень: Синхронизация.

См. также

На этой странице