Аутентификация
Получите токены доступа и настройте аутентификацию
Обзор аутентификации
WebAsk API использует токены Bearer для аутентификации. Все запросы к API должны содержать заголовок Authorization с вашим API токеном.
Важно
Храните ваши API токены в безопасности и никогда не передавайте их в клиентском коде.
Получение API токена
Шаг 1: Войдите в аккаунт
Войдите в свой аккаунт WebAsk и перейдите в раздел настроек.
Шаг 2: Создайте API токен
В разделе "API токены" нажмите "Создать новый токен" и укажите название для токена.
Пример названия токена:
Мое приложение - Production
Шаг 3: Скопируйте токен
После создания токена скопируйте его и сохраните в безопасном месте. Токен больше не будет показан в интерфейсе.
Формат токена:
wa_1234567890abcdef1234567890abcdef
Использование токена
Добавьте токен в заголовок Authorization всех запросов к API:
curl -X GET https://api.webask.io/api/service/quiz \
-H "Authorization: Bearer wa_1234567890abcdef1234567890abcdef" \
-H "Content-Type: application/json"
JavaScript (fetch)
fetch('https://api.webask.io/api/service/quiz', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data));
Python (requests)
import requests
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json'
}
response = requests.get('https://api.webask.io/api/service/quiz', headers=headers)
data = response.json()
PHP (cURL)
$url = 'https://api.webask.io/api/service/quiz';
$token = 'YOUR_TOKEN';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token,
'Content-Type: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
$data = json_decode($response, true);
echo json_encode($data, JSON_PRETTY_PRINT);
} else {
echo "Error: HTTP $httpCode";
}
PHP (Guzzle)
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
$client = new Client();
$token = 'YOUR_TOKEN';
try {
$response = $client->get('https://api.webask.io/api/service/quiz', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json'
]
]);
$data = json_decode($response->getBody(), true);
echo json_encode($data, JSON_PRETTY_PRINT);
} catch (RequestException $e) {
echo "Error: " . $e->getMessage();
}
Рекомендации по безопасности
Не делайте
- Не передавайте токены в URL параметрах
- Не коммитьте токены в публичные репозитории
- Не передавайте токены в клиентском коде
- Не используйте один токен для разных приложений
Рекомендуется
- Используйте переменные окружения для хранения токенов
- Регулярно ротируйте токены
- Используйте HTTPS для всех запросов
Обработка ошибок аутентификации
Коды ошибок
Код | Описание | Решение |
---|---|---|
401 | Неверный или отсутствующий токен | Проверьте правильность токена в заголовке Authorization |
403 | Токен не имеет прав доступа | Проверьте права доступа токена в настройках |
429 | Превышен лимит запросов | Уменьшите частоту запросов или обновите тарифный план |