При успехе — редирект на redirect_uri с code (живёт 10 минут), device_id и state; при ошибке — JSON с error и error_description.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
response_type |
query | string | да | code |
client_id |
query | string | да | ID приложения |
redirect_uri |
query | string | да | Адрес возврата |
state |
query | string | да | Случайная строка, не меньше 32 символов |
code_challenge |
query | string | да | Хэш code_verifier |
code_challenge_method |
query | string | да | S256 |
scope |
query | string | нет | Права, по умолчанию vkid.personal_info |
prompt |
query | string | нет | none, login, consent |
provider |
query | string | нет | vkid, ok_ru, mail_ru |
lang_id |
query | string | нет | Язык интерфейса |
scheme |
query | string | нет | light или dark |
https://id.vk.ruТип: OAuth 2.0
Пользователь проходит GET /authorize и возвращается на redirect_uri с code и device_id; код обменивается на access_token, refresh_token и id_token методом POST /oauth2/auth. PKCE обязателен: code_verifier — 43–128 символов, code_challenge — base64url от SHA-256 строки code_verifier. Access token действует 1 час.
Content-Type: application/x-www-form-urlencoded: заголовок Authorization и JSON вызывают ошибку preflight CORS.grant_type или response_type даёт ответ 404.access_token/refresh_token перестаёт работать.public_info работает с id_token и отдаёт маскированные данные, user_info — с access_token и полные данные.Если этого недостаточно — официальная документация: https://id.vk.ru/about/business/go/docs/ru/vkid/latest/vk-id/connection/api-description Вся интеграция одним документом: https://mcp-everything.ru/integrations/vk-id.md