Какие минимальные разрешения необходимы для слабого приложения, которое прослушивает все сообщения и может редактировать сообщения - PullRequest
0 голосов
/ 01 марта 2019

Приложение довольно простое, оно слушает все сообщения и, если в сообщении присутствует keyword, оно добавляет вложение к этому сообщению.Я хотел бы, чтобы это работало во всех областях (группы, каналы, dm, потоки и т. Д.)

Я использую систему обратного вызова событий slacks, чтобы все сообщения были установлены в конечную точку.

Япрослушивание этих событий

message.channels
message.groups
message.im
message.mpim

И настроенные мной разрешения:

chat:write:user
channels:history
groups:history
im:history
mpim:history
commands

Однако Slack отклонил приложение

Спасибо за повторную отправку!Однако после просмотра выясняется, что для работы вашего приложения ему необходим доступ ко всей истории сообщений авторизующего пользователя (области *: history).В дополнение к этому, чтобы приложение работало наилучшим образом, ему потребуется авторизация всех пользователей в рабочей области, что потенциально дает вашему приложению доступ ко всей истории сообщений для рабочей области.Изучив функциональность вашего приложения, мы пришли к выводу, что ваше приложение не обеспечивает необходимую функциональность для обоснования этого уровня доступа.

Слэк предложил мне использовать пользователя бота, но в идеале я хотел бы избежать этого, если это возможно.

Могу ли я получить возможность читать и редактировать сообщения без указанных выше разрешений/ прицелы

1 Ответ

0 голосов
/ 02 марта 2019

Я предполагаю, что вы хотите использовать chat.update, чтобы добавить вложения в существующие сообщения.Проблема в том, что этот метод работает только для сообщений, опубликованных вами.Поэтому, если вы публикуете сообщение с пользователем бота вашего приложения, вы можете использовать этот метод, чтобы изменить сообщение позже - подобно тому, как вы можете изменить свои собственные сообщения в Slack после публикации.

Из официальной документации:

Только сообщения, отправленные аутентифицированным пользователем, могут быть обновлены с помощью этого метода.Это включает в себя обычные сообщения чата, а также сообщения, содержащие подтип me_message.Пользователи ботов могут также обновлять сообщения, которые они публикуют.

Для того чтобы изменять сообщения других пользователей, каждый пользователь в рабочей области должен предоставить вашему приложению разрешение действовать от его / ее имени.На практике это означает, что каждый пользователь рабочей области должен будет установить ваше приложение один раз - таким образом, предоставив приложению токен пользователя, который затем можно будет использовать с chat.update.

Кроме того, необходимо изменить функцию редактирования.активирован для этой рабочей области администраторами.

Это единственный способ.Нет глобального разрешения, которое дало бы вам полный доступ к приложению.Из-за строгой архитектуры безопасности Slack нет глобальных прав администратора, поэтому даже владелец рабочего пространства не может редактировать сообщения от других.

Кстати.вы также не можете видеть частные каналы и прямые каналы сообщений от других пользователей, поэтому ваше приложение не будет получать сообщения от этих каналов, пока оно не будет аутентифицировано всеми пользователями.

С точки зрения безопасности я могу понять, почемуУ команды Slack были проблемы с вашим приложением.Также я сомневаюсь, что многие администраторы рабочего пространства позволят установить ваше приложение из-за проблем безопасности.

...