Обзор аутентификации
Caution
Демонстрационная страница: это демонстрационная страница, показывающая работу многовкладочной документации. Её содержимое приведено только для иллюстрации.
В этом руководстве объясняется, как проходить аутентификацию в нашем API. Мы поддерживаем несколько методов аутентификации:
API-ключи
Самый простой метод аутентификации: использование API-ключей. Каждый API-ключ привязан к конкретному пользователю и имеет собственный набор разрешений.
// Example API Key requestconst response = await fetch('https://api.example.com/data', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' }});OAuth 2.0
Для приложений с повышенными требованиями к безопасности мы поддерживаем процесс аутентификации OAuth 2.0:
- Запрос авторизации: перенаправьте пользователей на наш URL авторизации
- Согласие пользователя: пользователь разрешает доступ к своему аккаунту
- Код авторизации: наш сервер возвращает код авторизации
- Обмен на токен: обменяйте код на токен доступа
- Запросы к API: используйте токен доступа для обращения к защищённым ресурсам
JWT-токены
После аутентификации мы выдаём JWT-токены, которые содержат закодированную информацию о пользователе и его разрешениях.
// Example JWT token usageconst response = await fetch('https://api.example.com/protected-resource', { headers: { 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' }});Управление сессиями
По умолчанию сессии действуют 24 часа. Чтобы обновить сессию:
const refreshResponse = await fetch('https://api.example.com/auth/refresh', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer CURRENT_REFRESH_TOKEN' }});
// Parse the new tokensconst { accessToken, refreshToken } = await refreshResponse.json();Рекомендации
- Никогда не храните API-ключи и токены в клиентском коде
- Используйте переменные окружения для конфиденциальных учётных данных
- Реализуйте механизмы обновления токенов для долго работающих приложений
- Задавайте подходящее время жизни токенов
- Используйте HTTPS для всех запросов к API