VK ID API: Показать «Продолжить как …» и выйти из аккаунта

Сценарий из mcp-everything. Актуально на 2026-10-24.

Быстрый повторный вход по маскированным данным и корректный выход с отзывом доступа.

  1. Для экрана «Продолжить как Анна П.» не нужен access_token: POST /oauth2/public_info с client_id и id_token вернёт имя, первую букву фамилии, маскированные телефон и email и аватар.
  2. Выход: POST /oauth2/logout с client_id и access_token завершает сессию пользователя в твоём приложении.
  3. Если пользователь удаляет аккаунт или отвязывает VK ID, отзови разрешения: POST /oauth2/revoke с client_id и access_token. Ответ — {"response": 1}.
  4. Из браузера передавай токены только в теле form-urlencoded: заголовок Authorization и JSON ломают CORS preflight.
curl -s -X POST https://id.vk.ru/oauth2/public_info \
  -d client_id=<client_id> -d id_token=<id_token>

curl -s -X POST https://id.vk.ru/oauth2/logout \
  -d client_id=<client_id> -d access_token=<access_token>

curl -s -X POST https://id.vk.ru/oauth2/revoke \
  -d client_id=<client_id> -d access_token=<access_token>

Базовые URL

Авторизация

Тип: 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 час.

Методы сценария

POST /oauth2/public_info — Маскированные данные пользователя

В user: user_id, first_name, last_name (первая буква), маскированные phone и email, avatar.

Параметр Где Тип Обяз. Описание
client_id body string да ID приложения
id_token body string да ID-токен

POST /oauth2/revoke — Отзыв разрешений

Ответ: {"response": 0 или 1}.

Параметр Где Тип Обяз. Описание
client_id body string да ID приложения
access_token body string да Access-токен

POST /oauth2/logout — Выход из аккаунта

Ответ: {"response": 0 или 1}.

Параметр Где Тип Обяз. Описание
client_id body string да ID приложения
access_token body string да Access-токен

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://id.vk.ru/about/business/go/docs/ru/vkid/latest/vk-id/connection/api-description Вся интеграция одним документом: https://mcp-everything.ru/integrations/vk-id.md