Вход через proxy.gonka.gg
Обычный OAuth 2.0 Authorization Code с PKCE — та же форма, что у «Войти через Google». Пользователь жмёт вашу кнопку, попадает на экран согласия proxy.gonka.gg, подтверждает и возвращается с одноразовым кодом, который вы меняете на сервере. Пароль мы не отдаём.
Регистрация клиента пока ручная — напишите имя приложения и redirect URL, мы выдадим client_id / client_secret с фиксированным набором scope.
Scope
| Scope | Что даёт |
|---|---|
profile | Id аккаунта, email, дата регистрации |
usage | Баланс, всего токенов, запросы, расход |
api_key | Новый отзываемый API-ключ для этого подключения. Старые ключи никогда не раскрываются — мы храним только хеши. |
1. Отправьте пользователя
Сгенерируйте PKCE code_verifier и code_challenge (base64url от SHA-256(verifier)), затем редирект:
GET https://proxy.gonka.gg/oauth/authorize
?client_id=YOUR_CLIENT_ID
&redirect_uri=https://yourapp.com/callback
&state=RANDOM_CSRF_TOKEN
&code_challenge=BASE64URL(SHA256(code_verifier))
&code_challenge_method=S2562. Обменяйте код (на сервере)
curl https://api.proxy.gonka.gg/api/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "authorization_code",
"code": "<code from redirect>",
"redirect_uri": "https://yourapp.com/callback",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"code_verifier": "<verifier from step 1>"
}'В ответе access_token (oat_…), refresh_token (ort_…) и при первом подключении один раз api_key (sk-…). Ключ сохраните сразу.
Access token живёт 1 час. Обновление: grant_type=refresh_token.
3. Профиль и расход
curl https://api.proxy.gonka.gg/api/oauth/userinfo \
-H "Authorization: Bearer oat_..."Эндпоинты
| Метод | Путь | Авторизация | Описание |
|---|---|---|---|
| GET | /oauth/authorize | Браузер | Страница согласия |
| POST | /api/oauth/token | client_id + secret | Код или refresh |
| GET | /api/oauth/userinfo | Access token | Профиль / расход |
| POST | /api/oauth/revoke | Нет | Отозвать access или refresh token |
Пользователь отключает приложения в настройках. Это отзывает токены и выпущенный ключ.