Skip to content

Аутентификация

n8n API использует API ключи для аутентификации запросов.

Получение API ключа

Через веб-интерфейс

  1. Войдите в n8n: https://n8n.chapiro.space
  2. Перейдите в SettingsAPI
  3. Нажмите "Create API Key"
  4. Введите название ключа (например, "Production API")
  5. Скопируйте ключ (показывается только один раз!)

⚠️ Важно: Сохраните ключ в безопасном месте. После закрытия окна его нельзя будет посмотреть снова.

Использование API ключа

HTTP Header

Передавайте API ключ в заголовке X-N8N-API-KEY:

bash
curl -X GET https://n8n.chapiro.space/api/v1/workflows \
  -H "X-N8N-API-KEY: your_api_key_here"

В коде

JavaScript

javascript
const headers = {
  'X-N8N-API-KEY': 'your_api_key_here',
  'Content-Type': 'application/json'
};

fetch('https://n8n.chapiro.space/api/v1/workflows', {
  headers: headers
})
  .then(response => response.json())
  .then(data => console.log(data));

Python

python
import requests

headers = {
    'X-N8N-API-KEY': 'your_api_key_here',
    'Content-Type': 'application/json'
}

response = requests.get(
    'https://n8n.chapiro.space/api/v1/workflows',
    headers=headers
)

print(response.json())

PHP

php
$ch = curl_init('https://n8n.chapiro.space/api/v1/workflows');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-N8N-API-KEY: your_api_key_here',
    'Content-Type: application/json'
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);

Безопасность

Хранение ключей

Правильно:

  • Environment variables
  • Secrets management (Vault, AWS Secrets Manager)
  • Зашифрованные файлы конфигурации
  • .env файлы (в .gitignore)

Неправильно:

  • Хардкод в коде
  • Коммит в git
  • Публичные репозитории
  • Логи и консоль

Ротация ключей

Рекомендуется регулярно менять API ключи:

  1. Создайте новый ключ
  2. Обновите приложения на использование нового ключа
  3. Проверьте работоспособность
  4. Удалите старый ключ

Права доступа

API ключ имеет те же права, что и пользователь, который его создал:

  • Полный доступ к воркфлоу
  • Управление credentials
  • Просмотр executions

Управление ключами

Список ключей

Просмотр всех созданных API ключей:

  1. Settings → API
  2. Список всех ключей с названиями и датами создания

Удаление ключа

⚠️ Удаление ключа немедленно прекращает доступ для всех приложений, использующих этот ключ.

  1. Settings → API
  2. Найдите ключ в списке
  3. Нажмите "Delete"
  4. Подтвердите удаление

Ошибки аутентификации

401 Unauthorized

Причины:

  • Неверный API ключ
  • Ключ был удален
  • Неправильный формат заголовка

Ответ:

json
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Invalid API key"
  }
}

Решение:

  • Проверьте правильность ключа
  • Убедитесь, что ключ активен
  • Проверьте формат заголовка

403 Forbidden

Причины:

  • Недостаточно прав для операции
  • Доступ к ресурсу запрещен

Ответ:

json
{
  "error": {
    "code": "FORBIDDEN",
    "message": "Access denied to this resource"
  }
}

Альтернативные методы

Basic Auth (устаревший)

⚠️ Не рекомендуется для production.

bash
curl -X GET https://n8n.chapiro.space/api/v1/workflows \
  -u "username:password"

OAuth2 (будущее)

В разработке для будущих версий n8n.

Лучшие практики

  1. Один ключ на приложение - упрощает ротацию и отзыв
  2. Описательные названия - "Production API", "Dev Testing", "CI/CD"
  3. Мониторинг использования - отслеживайте подозрительную активность
  4. Ротация по расписанию - меняйте ключи раз в 3-6 месяцев
  5. Минимальные права - используйте разные аккаунты для разных целей

Environment Variables

.env файл

bash
# .env
N8N_API_KEY=your_api_key_here
N8N_BASE_URL=https://n8n.chapiro.space/api/v1

Использование

javascript
require('dotenv').config();

const apiKey = process.env.N8N_API_KEY;
const baseUrl = process.env.N8N_BASE_URL;

Следующие шаги

Документация n8n