Кратко
- RFC 9728 позволяет ресурсу опубликовать сведения, нужные для взаимодействия; сам документ не разрешает использовать ресурс.
- Метаданные применимы лишь после точного сопоставления
resource. Выдача токена, его принятие и эффект вызова остаются разными решениями.
Фраза «метаданные назвали нужный issuer» часто получает лишний смысл. Она означает только, что клиент получил описание следующего возможного шага. Названный сервер может не выдать токен данному клиенту; токен может не быть предназначен для этого ресурса; сервер ресурсов может его отвергнуть; бизнес-условие может остановить действие уже после проверки токена.
RFC 9728 делает этап обнаружения переносимым, но намеренно ограниченным. Ресурс размещает JSON по адресу .well-known, выводимому из собственного идентификатора, и может сообщить серверы авторизации, scopes и способы предъявления bearer-токена. Это карта совместимости, а не передача права решать за ресурс.
Ключевой контроль — буквенное равенство идентификаторов. При обычном получении обязательный resource должен в точности совпасть с идентификатором, из которого построен URL метаданных. Если URL пришёл в WWW-Authenticate, значение обязано совпасть с URL, который клиент запросил у сервера ресурсов. При несовпадении данные нельзя использовать. Общий домен, похожий путь или бренд не создают доверия.
Это существенно для многоарендных хостов. Суффикс well-known вставляется перед путём ресурса, поэтому разные пути одного хоста могут публиковать разные документы. RFC 9728 подчёркивает: это не общая информация о хосте. Превращая такую публикацию в глобальную таблицу разрешений, оператор расширяет границу политики до того, как был запрошен токен.
Опубликованные списки также не являются полной ведомостью прав. authorization_servers необязателен и может не включать поддерживаемые серверы; scopes_supported может не включать доступные scopes. Подписанные метаданные лишь связывают пакет с тем, кто за него поручился. Они не аутентифицируют клиента, не подтверждают согласие и не валидируют токен. RFC 8414, RFC 8707 и RFC 6750 оставляют эти проверки разным сторонам.
Sources
- https://www.rfc-editor.org/rfc/rfc9728.html
- https://www.rfc-editor.org/info/rfc9728/
- https://datatracker.ietf.org/doc/rfc9728/
- https://www.rfc-editor.org/rfc/rfc8414.html
- https://www.rfc-editor.org/rfc/rfc8707.html
- https://www.rfc-editor.org/rfc/rfc6750.html
- https://www.rfc-editor.org/rfc/rfc8615.html
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
