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

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

NeoWatch API использует Neo ID SSO для аутентификации через OAuth 2.0 + OpenID Connect.

OAuth Flow​

1. Получить URL авторизации​

GET /api/v1/auth/login?redirect_uri=https://neome.uk/auth/callback

Ответ:

{
"success": true,
"data": {
"url": "https://id.neome.uk/api/v1/oauth/authorize?..."
}
}

Перенаправьте пользователя по этому URL.

2. Callback​

После авторизации Neo ID перенаправляет на ваш redirect_uri с параметром code:

https://neome.uk/auth/callback?code=...

3. Обменять код на токены​

GET /api/v1/auth/callback?code=...&redirect_uri=https://neome.uk/auth/callback

Устанавливает куки neo_id_access и neo_id_refresh и перенаправляет на фронтенд.

4. Mobile Callback​

Для мобильных приложений:

GET /api/v1/auth/mobile-callback?code=...

Возвращает токены в JSON вместо кук.

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

Укажите токен доступа в заголовке:

Authorization: Bearer <access_token>

Обновление токена​

POST /api/v1/auth/refresh
Content-Type: application/json

{
"refreshToken": "..."
}

Профиль​

Получить профиль​

GET /api/v1/auth/profile
Authorization: Bearer <token>

Обновить профиль​

PUT /api/v1/auth/profile
Authorization: Bearer <token>
Content-Type: application/json

{
"name": "Новое имя",
"avatar": "https://..."
}

Управление токенами​

Список активных токенов​

GET /api/v1/auth/refresh-tokens
Authorization: Bearer <token>

Отозвать токен​

POST /api/v1/auth/refresh-tokens/revoke
Authorization: Bearer <token>
Content-Type: application/json

{
"refreshToken": "..."
}

Отозвать все токены​

POST /api/v1/auth/refresh-tokens/revoke-all
Authorization: Bearer <token>

Выход​

POST /api/v1/auth/logout
Authorization: Bearer <token>

Удаление аккаунта​

DELETE /api/v1/auth/account
Authorization: Bearer <token>