Как другие пользователи могут получить токены для моего приложения для разработки? - PullRequest
1 голос
/ 28 апреля 2019

TLDR : у меня слабое приложение для управления частными каналами в его рабочей области разработки и токены для него, которые наследуют мои пользовательские привилегии. Как кто-то еще в том же рабочем пространстве может получить токены для этого приложения, которые вместо этого наследуют свои пользовательские привилегии?

Хорошо, поэтому фон таков: мне нужно управлять членством в группе частных каналов на основе более или менее сложных условий, связанных с ldap. Для этого я хотел написать простую программу на Python, которая получала членство в рассматриваемых каналах, использовала магию ldap, чтобы выяснить, кто должен быть где, и затем сделать это.

Я реализовал это, и пока все отлично работает. Проблема сейчас в том, что я (это мой слабый пользователь) не могу быть во всех этих каналах по соображениям конфиденциальности. Полученные мной API и бот-токены наследуют все мои собственные пользовательские привилегии. Это означает, что я не могу ни видеть, ни администрировать каналы, частью которых я не являюсь.

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

Никто другой не имеет прямого доступа к приложению. Документация создает впечатление, что мне нужно дать людям специально отформатированную ссылку («Добавить в слабую кнопку»), по которой они могут щелкнуть, чтобы пройти через процесс. Но это, кажется, требует «URL перенаправления». Я не уверен, что это такое, и документация не очень ясна, но кажется, что они предполагают, что приложение где-то работает на сервере и должно будет отвечать на запросы Slack или что-то в этом роде. Это не тот случай. Это довольно простой скрипт на Python, а не какое-то постоянно работающее облачное приложение, которое будет реагировать на Slack Events.

Так что я чувствую, что что-то упустил. Либо у меня есть какое-то фундаментальное неправильное представление о том, как это должно работать, либо у кого-то есть простой способ получить такой токен, а я его не вижу.

1 Ответ

1 голос
/ 28 апреля 2019

Да. Если вы хотите, чтобы другие пользователи аутентифицировали ваше приложение (например, генерировали токены, чтобы ваше приложение могло выполнять задачи от имени пользователя), вам нужно создать подпрограмму установки с использованием Ouath 2.0 . Эта процедура установки представляет собой небольшое веб-приложение, которое имеет кнопку «Добавить в Slack», HTML-интерфейс и может запускаться через процесс Oauth 2.0. Это веб-приложение должно работать на общедоступном веб-сервере.

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

...