Согласие и отзыв
Экран согласия
Кнопка авторизации открывает экран согласия в веб-версии Пачки.
Экран согласия
На нём сотрудник видит:
- вопрос «Авторизовать …?» с именем бота и рядом два аватара — свой и бота;
- пространство и свою почту — чтобы не выдать доступ из чужого аккаунта;
- Запрашиваемые разрешения — набор из настроек бота, а когда прав много, они сгруппированы по категориям;
- кнопки Разрешить и Отменить.
После Разрешить браузер сразу возвращается на адрес бота с кодом авторизации. Отменить возвращает браузер назад, и бот ничего не получает.
Выбирать отдельные права на экране нельзя: сотрудник соглашается на весь набор или не соглашается вовсе. Поэтому просите у сотрудника только то, что действительно нужно боту.
Кто не может выдать доступ
Вместо экрана согласия сотрудник увидит отказ в трёх случаях:
- Он гость. Этой роли доступ к API не выдаётся.
- Выдавать доступ ботам могут только администраторы. Так по умолчанию, пока в настройке Кто может создавать персональные токены не выбрано Все сотрудники. Отказ получат все, кто не администратор, в том числе мульти-гости.
- Бот создан в другом пространстве.
Как роль ограничивает права
Токен сотрудника никогда не даёт больше, чем может сам сотрудник. Права из набора проверяются на каждом запросе по его текущей роли: если роль не позволяет действие, запрос вернёт 403 с кодом role_forbidden, хотя право есть в наборе. Когда роль меняется, это отражается на токене сразу, выпускать его заново не нужно. Как боту ответить на такой отказ — в разделе Ошибки и отказы, а о ролях — в разделе Права и роли.
Повторная авторизация
Если сотрудник снова открывает кнопку, а набор прав в настройках бота не менялся, бот получит тот же токен, а не второй. У серверного приложения повторная авторизация с тем же набором проходит без экрана согласия: браузер сразу возвращается на адрес бота с новым кодом.
Когда набор в настройках бота расширили, уже выданные авторизации не меняются. Новые права сотрудник увидит и подтвердит при следующей авторизации — для этого бот присылает кнопку заново.
Список «Авторизации»
Все боты, которым сотрудник выдал доступ, собраны в списке Авторизации на странице Интеграции > API. Для каждого видно, когда бот подключён и когда последний раз использовался, а меню позволяет посмотреть выданные разрешения и отозвать доступ.
Список «Авторизации»
Редактор бота видит на вкладке Управление, сколько сотрудников его авторизовали, а сотрудник — отметку Подключено у бота в витрине.
Отзыв доступа
Отозвать доступ в списке «Авторизации» сразу отключает все токены этого бота, выданные сотруднику. Следующий запрос бота с таким токеном вернёт 401.
Боту стоит к этому быть готовым: на 401 удалить сохранённый токен и, когда сотрудник снова обратится к боту, прислать кнопку авторизации заново. Сам бот тоже может отозвать токен сотрудника — подробнее в разделе Отзыв токена ботом.
Доступ заканчивается и без отзыва, если бота удалили или у него отключили авторизацию: тогда перестают работать все выданные ему токены сотрудников. Подробнее — в разделе Настройка авторизации.
Настройка Кто может создавать персональные токены выданный доступ не отзывает: значение Только администраторы закрывает только новые согласия. Отозвать доступ бота у любого сотрудника может Администратор — на вкладке Все токены.