Перейти к основному содержимому

OAuth-аутентификация

Intotes поддерживает OAuth-вход через Google. Процесс перенаправляет пользователя на страницу авторизации провайдера, затем обрабатывает обратный вызов для создания или входа пользователя.

Новые пользователи, созданные через OAuth, автоматически получают адреса криптокошельков (TRON, BSC, Polygon, Ethereum).

Провайдеры

Google

ЭндпоинтМетодОписание
/api/v1/auth/googleGETПеренаправляет пользователя на экран согласия Google OAuth
/api/v1/auth/google/callbackGETОбрабатывает перенаправление Google после авторизации

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

Не требуется — эти эндпоинты инициируют или завершают процесс аутентификации.

Процесс

  1. Перенаправление: Ваш клиент переходит на GET /api/v1/auth/google. Сервер отвечает перенаправлением 302 на экран согласия Google.
  2. Авторизация пользователем: Пользователь даёт разрешение на странице Google.
  3. Обратный вызов: Google перенаправляет обратно на /api/v1/auth/google/callback с кодом авторизации.
  4. Обмен токенами: Сервер обменивает код на информацию о пользователе, создаёт аккаунт, если он не существует, и устанавливает HTTP-only cookies access_token и refresh_token.
  5. Ответ: Обратный вызов возвращает объект пользователя.

Пример (инициация Google OAuth)

curl -X GET https://intotes.com/api/v1/auth/google \
-L

Ответ

200 OK (эндпоинты обратного вызова)

Устанавливает access_token и refresh_token как HTTP-only cookies.

{
"user": {
"id": 42,
"name": "John Doe",
"nickname": "john_doe",
"email": "john@gmail.com",
"referral_code": "XYZ789",
"language": "en",
"theme": "dark",
"balance": 0,
"bonus_balance": 0,
"total_balance": 0,
"tron_address": "TXyz1234567890abcdefghijk",
"bsc_address": "0x1234567890abcdef1234567890abcdef12345678",
"polygon_address": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",
"ethereum_address": "0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
"avatar_url": "https://lh3.googleusercontent.com/a/example",
"is_creator": false,
"is_stats_viewer": false,
"total_predictions": 0,
"biggest_win": 0,
"registered_date": "2026-04-04"
}
}

Ошибки

СтатусКодОписание
400INVALID_REQUESTОтсутствуют или некорректны параметры обратного вызова
401OAUTH_FAILEDПровайдер отклонил авторизацию или обмен токенами не удался