Бета · редакция 2026.10-beta1 · MCP 2026-07-28
Discovery авторизации
L23 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1
Мне важно, чтобы клиент находил authorization server из проверяемых метаданных ресурса, а не угадывал домен по строке ошибки. Здесь работают несколько документов, и у каждого своя роль.
Предварительно: L22
Как я это использую
Protected Resource Metadata по RFC 9728 описывает защищённый ресурс и его authorization_servers. Далее client получает metadata выбранного AS по RFC 8414 или OIDC Discovery. WWW-Authenticate в ответе 401 помогает обнаружить resource metadata. Проверяйте HTTPS, точное соответствие issuer и правила построения well-known URL, особенно если issuer имеет путь.
Разбираем конкретный контракт
Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.
{
"resourceMetadata": {
"resource": "https://tasks.example/mcp",
"authorization_servers": [
"https://auth.example"
]
},
"asMetadata": {
"issuer": "https://auth.example",
"authorization_endpoint": "https://auth.example/authorize",
"token_endpoint": "https://auth.example/token",
"code_challenge_methods_supported": [
"S256"
]
}
}
Лаборатория · L23
Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.
Что легко сломать
Discovery URL — потенциальная поверхность SSRF. Не разрешайте перенаправлять серверный fetch в loopback, private network или metadata endpoint облака. Огранивайте redirects, время, размер ответа и повторно проверяйте конечную цель. Лаборатория разбирает fixtures локально и ничего не скачивает.
Практика и самопроверка
Пройти 401 challenge, Protected Resource Metadata и metadata authorization server. Успех: endpoint найден по правильному документу.
Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.
В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.
На что я опирался
Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.
Проверка знаний
Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.