Аутентификация
Аутентификация
Все эндпоинты API требуют аутентификации. Наговори поддерживает два метода:
API-ключи
API-ключи — рекомендуемый способ для серверных интеграций. Создайте ключ в Профиле.
Формат: nag_ + 32 шестнадцатеричных символа (например, nag_a1b2c3d4e5f67890abcdef1234567890).
Использование: передайте ключ как Bearer-токен в заголовке Authorization:
Authorization: Bearer nag_ВАШ_КЛЮЧ
Безопасность
- Ключи хешируются перед сохранением — Наговори никогда не хранит сырой ключ
- У каждого ключа есть видимый префикс (
nag_xxxx) для идентификации - Отозванные ключи немедленно аннулируются
- Ограничение по операциям (scopes) — в разработке
JWT-токены
JWT-токены используются для аутентификации через веб-интерфейс и мобильные приложения посредством OIDC-потока.
Токен передаётся аналогично:
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...
Когда использовать JWT
- Для фронтенд-приложений с OAuth2/OIDC
- Когда требуется доступ от имени конкретного пользователя
Когда использовать API-ключ
- Серверные скрипты и автоматизация
- CI/CD пайплайны
- Боты и микросервисы
Примеры
cURL с API-ключом
curl https://api.nagovori.ru/v1/me \
-H "Authorization: Bearer nag_a1b2c3d4e5f67890abcdef1234567890"
Python
import requests
API_KEY = "nag_ваш_ключ"
headers = {"Authorization": f"Bearer {API_KEY}"}
response = requests.get("https://api.nagovori.ru/v1/me", headers=headers)
print(response.json())
TypeScript
const API_KEY = process.env.NAGOVORI_API_KEY!;
const res = await fetch("https://api.nagovori.ru/v1/me", {
headers: { Authorization: `Bearer ${API_KEY}` },
});
const data = await res.json();