Бета · редакция 2026.10-beta1 · MCP 2026-07-28

Модель авторизации MCP

L22 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1

Я начинаю OAuth не с кнопки входа, а с ролей. MCP server — protected resource, client хочет обращаться к нему от имени пользователя, authorization server выдаёт токены. Host может содержать client, но это не превращает его автоматически в authorization server.

Предварительно: L01 · L14

Как я это использую

HTTP-авторизация в MCP опциональна; если она нужна, соблюдайте соответствующий профиль и security требования. Login на сайте портала и OAuth доступа к внешнему MCP — независимые вещи. Для stdio типичен другой способ передачи локальных credentials. Разделяйте аутентификацию пользователя, consent и авторизацию конкретного действия.

Границы авторизации

Разбираем конкретный контракт

Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.

{
  "roles": {
    "client": "Учебный MCP connector",
    "protectedResource": "https://tasks.example/mcp",
    "authorizationServer": "https://auth.example",
    "resourceOwner": "Пользователь"
  }
}

Лаборатория · L22

Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.

Что легко сломать

Не передавайте access token в query string и не логируйте Authorization. HTTP 401 говорит о необходимости корректной аутентификации, а 403 обычно указывает на недостаток разрешений. Полный сценарий должен проверять права и после получения валидного токена.

Практика и самопроверка

Разместить resource owner, MCP client, resource server и authorization server. Сравнить OAuth, OIDC и вход в сам портал.

Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.

В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.

На что я опирался

Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.

Проверка знаний

Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.

Кто выдаёт access token?

Обязателен ли OAuth для всех MCP транспортов?

Достаточно ли валидного токена для любого действия?