Скоупы доступа
Скоуп — это то, что человек читает на экране согласия, прежде чем разрешить вашему приложению доступ. Поэтому их три, а не двадцать: список из двадцати строк никто не читает, а после этого разрешают всё подряд.
| Скоуп | Что позволяет |
|---|---|
mcp:read |
читать участки, их историю и публичные данные поселка |
mcp:write |
добавлять записи в историю участка: работы, покупки, посадки |
mcp:private |
читать личное: затраты, документы, заявки |
Что включает что
mcp:write включает mcp:read. Токен, которым можно записать работу, но
нельзя прочитать участок, к которому она относится, бесполезен.
mcp:private тоже включает mcp:read, но mcp:write — не включает
mcp:private. Право записать, что было сделано, — это не право прочитать,
сколько это стоило.
mcp:read не включает ничего. В этом весь смысл того, что он выдаётся по
умолчанию.
Что просить
Просите минимум. Приложение, которому нужно показать карту участков и историю
работ, просит mcp:read — и человек, глядя на экран согласия, разрешает его
не думая. Приложение, которое просит всё, человек закрывает.
Личные токены по умолчанию выдаются только с чтением, и это осознанно: токен, который может писать, — это токен, который может по ошибке переписать историю участка, и такой выбор должен быть сделан явно.
Отказ
Если токену не хватает скоупа, ответ — 403 с указанием, какого именно:
{
"message": "The token does not carry the \"mcp:write\" scope."
}
Это не то же самое, что 403 от политики доступа. Первое чинится новым
токеном, второе — не чинится: у этого человека действительно нет права.