2026-07-31T17:58:02.197Z

Как работает аутентификация MCP? Аудит цепочки OAuth

Отслеживать дистанционный путь MCP OAuth с первого 401 по ресурсам, эмитенту, PKCE, объему, токену и готовности квитанции.

Для защищенного удаленного сервера MCP проверка не является одной токенной проверкой. Это цепочка авторизации: клиент получает вызов, обнаруживает метаданные для точного защищенного ресурса, обнаруживает и проверяет сервер авторизации, получает идентификацию клиента, запускает поток кода авторизации с PKCE и показателем ресурса, получает необходимые объемы и доказывает, что полученный токен работает на предполагаемой конечной точке MCP. Ответ на этот вопрос имеет важное значение. Нынешний Спецификация разрешения на MCP делает авторизацию необязательной и применяет свой маршрут OAuth к HTTP транспортам. Вместо этого локальный сервер STDIO должен получать удостоверения через свою среду хоста или другой локальный механизм. Таким образом, запуск потока браузера для каждого MCP соединения не является разумным дефолтом. Операционный вопрос не в том, есть ли у меня токен? Это Какие квитанции показывают, что каждое связывание в этой конкретной цепочке разрешений согласуется? Токенный ряд может сосуществовать с неправильным ресурсом, ненадежным эмитентом, отсутствующим объемом действия или защищенным запросом, который все равно возвращает 401 . Начнем с транспорта и первой задачи Официальный Учебное пособие по разрешению MCP объясняет удаленный HTTP поток поэтапно. В конденсированной форме: 1. Клиент отправляет запрос MCP без токена. 2. Защищенный сервер MCP возвращает 401 Unauthorized с задачей Bearer WWW Authenticate . 3. В задаче указаны метаданные защищенных ресурсов через resource metadata . 4. Эти метаданные идентифицируют защищенный ресурс и один или несколько серверов авторизации. 5. Клиент получает метаданные сервера разрешения и проверяет эмитента и конечные точки. 6. Клиент получает идентификатор клиента через механизм, поддерживаемый сервером авторизации, а затем запускает поток кода авторизации с помощью PKCE и идентификатора ресурсов MCP. 7. Клиент отправляет полученный токен доступа к серверу MCP и наблюдает за защищенным запросом. Первый 401 не является неудачей подавления. Это квитанция на открытие. Полезный запись сохраняет статус HTTP, схему аутентификации, URL метаданных, время наблюдения и выбранный ресурс MCP. Znot хранит заголовок Authorization , файлы cookie, код авторизации, верификатор, секрет клиента или токен доступа. РФК 9728 определяет защищенные метаданные ресурсов и известную модель обнаружения. Его стоимость безопасности зависит от авторитета: метаданные для https://mcp.example/mcp должны описывать этот ресурс, а не аналогичный хост или URL, предоставленный несвязанной службой. Следуя произвольному URL адресу разрешения от органа ошибки не эквивалентно. Сервер авторизации это отдельная роль. Защищенный сервер MCP действует как ресурсный сервер OAuth; клиент MCP действует как клиент OAuth; сервер авторизации взаимодействует с пользователем при необходимости и выдает токены доступа. Сочетание этих ролей делает очевидную ошибку в решении неполадок: перед проверкой того, обнаружил ли клиент правильный эмитент, обращается токен ресурсного сервера. Связать ресурс, эмитент, клиент и поток кодов Два URL адреса заслуживают точного сравнения. Первый защищенный ресурс. РФК 8707 определяет параметр запроса resource , чтобы сервер авторизации знал предполагаемого получателя токена. В текущем проекте MCP требуется параметр ресурса как в заявках на разрешение, так и в заявках на токен. Токен доступа, выпущенный для другой API, не является практически действительным для выбранного сервера MCP. Второй эмитент разрешительного сервера. Перед открытием браузера клиент записывает эмитента из подтвержденных метаданных авторизационного сервера. Когда ответ на авторизацию включает в себя iss , текущий проект MCP описывает сравнение с данным зафиксированным значением до отправки клиента кода в конечную точку токена. Несовместимость эмитента это условие остановки, а не причина для того, чтобы попробовать один и тот же код против обеих конечных точек. Регистрация клиента также является явным слоем. Клиент может использовать документ метаданных клиента ID, предварительно зарегистрированный идентификатор клиента или поддерживаемый путь динамической регистрации. В нынешнем проекте Динамическая регистрация клиентов рассматривается как механизм совместимости, а не как универсальное предположение. Если нет поддерживаемого механизма регистрации, правильный вердикт registration blocked ; изобретение перенаправления URI или повторное использование идентификатора клиента другого продукта скрывает фактическую неисправность взаимодействия. PKCE связывает запрос разрешения с последующим обменом кодами. Аудит регистрирует только то, сохранил ли поток связанный проверяющий, а никогда сам проверяющий. Лишняя связь становится unsafe flow , даже если браузер возвращает код. Вот форма без содержания, используемая для одного здорового устройства: Названия областей являются доказательством конфигурации, а не секретными значениями. В чувствительном развертывании они все еще могут раскрывать возможности, поэтому сохраняют только то, что необходимо для решения о состоянии здоровья, и применяют те же правила контроля доступа, что и другие оперативные метаданные. Диагностировать первый слой неисправности Плотный контрольный список порождает противоречивые действия. Если метаданные защищенного ресурса недоступны, сравнение эмитента не имеет достоверных данных. Если идентификатор ресурса ошибочен, запрос более широкого объема не может его исправить. Следовательно, классификатор использует преимущество и останавливается на первом неудачном слое: Приговор Доказательства, которые остановили цепочку Ограниченное следующее действие not applicable Местный транспорт СТДИО Используйте местный механизм аккредитации runtime invalid challenge Отсутствие или отсутствие HTTPS resource metadata Поправить задачу 401 metadata unavailable Метаданные защищенных ресурсов не возвращаются в 200 Восстановить метаданные; не догадываться об эмитенте resource mismatch Метаданные или токены нацелены на другой ресурс Корректировка идентификации ресурса или запрос токены с ограниченными ресурсами issuer mismatch Выявленный или обратный эмитент не согласен Откажитесь от потока и расследуйте орган метаданных registration blocked Нет поддерживаемой идентификации клиента Конфигурировать механизм регистрации, поддерживаемый unsafe flow Поток разрешения кода не имеет PKCE связи Перезагрузить PKCE step up required Нынешняя операция нуждается в несанкционированном объеме Запросить только оспариваемый недостающий объем token rejected Обязательства согласны, но защищенный запрос все равно не выполнится Классифицировать новую задачу перед ротацией authorized ready Все полученные разрешения согласны, и запрос успешный Продолжение инициализации МПК и проверки результатов Поставленное устройство может быть воспроизведено без доступа к сети: Его датированное исполнение привело к десяти делам, десяти приговорам первого уровня, одному authorized ready и secretFieldsStored: 0 . Этот результат намеренно более строгий, чем 9 ошибок и один успех. Это доказывает, что правило принятия решений сохраняет значительные различия между местным транспортом, неудачным обнаружением, противоречивой идентичностью, не поддерживаемой регистрацией, небезопасным потоком кодов, отсутствием сферы действия и отклоненным токеном. Правило первого слоя также ограничивает повторные попытки. metadata unavailable может обосновать повторное попытку ограничения метаданных. issuer mismatch не должен. step up required может обосновать новый поток согласия для оспариваемого сферы действия. token rejected требует чтения нового вызова, потому что срок действия, отмена, аудитория и охват не разделяют одного ремонта. Сохраняйте расширение объема отдельно от неудачи токенов В текущем проекте MCP рекомендуется, чтобы сервер включал необходимый объем в свой вызов WWW Authenticate . Объем, оспариваемый для текущей операции, является авторитетным для этой операции; он не должен равняться всей набору ресурсных метаданных scopes supported . Это изменяет решение оператора. Предположим, что чтение имеет успех с files:read , тогда запись возвращает 403 и вызовы для files:write . Это не доказательство того, что токен магазин коррумпирован. Это состояние step up required . Клиент должен запросить отсутствующее разрешение с человеческой видимостью и сохранить разрешения, необходимые для других операций. Напротив, защищенным запросом, возвращающим 401 после соглашения о получении ресурса, эмитента, регистрации, PKCE и охвата, является token rejected . Следующим безопасным шагом будет классификация нового вызова. Повторяя один и тот же знак это активность, а не прогресс. Переключение каждой аккредитации также может разрушить полезные доказательства и прервать здоровых клиентов. Вердикт authorized ready остается узким. В нем говорится, что удаленный сервер MCP принял цепочку разрешений для этого запроса. В нем не сказано: Инициализация МПК и переговоры о возможностях были успешными; выбранный инструмент по прежнему существует или его схема остается неизменной; призыв к инструментам привел к намеченному внешнему эффекту; побочный эффект безопасен для повторной попытки после перерыва; наличие доступа пользователя; сервер, клиент и ресурс авторизации являются надежными в глобальном масштабе. Это последующие решения в области здравоохранения и безопасности. Успешная защищенная просьба должна перевести работу на проверку жизненного цикла MCP, а затем на проверку эффекта инструмента и результатовне напрямую на агента здорового. Используйте квитанцию без сбора учетных записей Для производственных операций хранить хэши или стабильные идентификаторы выбранного клиента и ресурса только тогда, когда они необходимы для корреляции событий. Зарегистрируйте временные штампы и версию спецификации, поскольку метаданные и правила протокола меняются. Сохраняйте необработанный токен, код, верификатор, секрет, печенье, запрос, аргументы инструмента и результаты инструмента из медицинской документации. Артефакт это классификатор, а не живая комплиментация. Он доверяет наблюдениям, которые ему предоставлены. Реальная реализация должна дополнительно подтверждать TLS, происхождение метаданных, перенаправление URI, поведение эмитента, подписи токенов или интроспекцию, аудиторию, политику истечения срока действия и развертывания. Проект MCP был проверен 30 июля 2026 года. Запиши спецификацию, которую ты реализуешь, и перезапусти устройство, когда изменится контракт. Запланированная территория продукта Sidewisp включает доступность инструмента, истекшие сроки действия, потерю разрешений, полезный прогресс и проверку результатов. Sidewisp сейчас находится на этапе закрытого предварительного доступа. Его адаптеры мониторинга производства и исполнитель восстановления обычно не поставляются, поэтому в настоящей статье предусмотрено самостоятельное правило эксплуатации, а не утверждается, что Sidewisp уже выполняет этот аудит разрешения MCP. Таким образом, практический ответ на вопрос "как работает аутентификация MCP?" является цепочкой расписок разрешений, а не скриншотом токен носителя. Первое противоречие рассматривается как диагноз, применяется один ограниченный ремонт, а успех авторизации отделен от успеха инструмента и конечного результата пользователя.