Одновременно "Добавить в Slack" и "Войти с Slack"

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

Я хотел бы позволить им сделать это с одной поездкой через OAuth. Поскольку для веб-приложения требуется имя, адрес электронной почты и изображение профиля для каждого пользователя, я добавил поля "identity.basic", "identity.email" и т.д. Для тех, которые были запрошены кнопкой "Добавить в Slack" . Но оказывается, что Slack этого не допускает. На странице Slack OAuth говорится: " Требуемые недопустимые разрешения: Невозможно одновременно запрашивать области видимости и другие области".

Один из альтернатив может заключаться в том, чтобы запрашивать пользователей: читать и использовать пользователи: области read.email, а не области идентификации. Но это дает нашему приложению больше доступа, чем нужно; ему просто нужна информация для текущего пользователя, а не для всех пользователей в команде. (Это может понадобиться позже для всех пользователей, поэтому я все равно планирую сделать это, но я не уверен, понравятся ли пользователи.)

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

Итак, вопросы: (1) есть лучший способ, и (2) почему Слэк не позволяет комбинировать идентификационные области с другими?

ОБНОВЛЕНИЕ, чтобы уточнить, в ответ на ответ от @erik-kalkoken:

Я знаю различия между "Добавить в Slack" и "Sign In Slack". Я, конечно же, не собираюсь отбирать у большинства пользователей возможность сделать простой "Вход в Slack". Однако с этим конкретным приложением не имеет смысла делать "Добавить в Slack" , не входя в веб-приложение. Это нужно сделать одному человеку за команду Slack, прежде чем другие пользователи этой команды смогут ее использовать. Наш процесс ввода в эксплуатацию для новых команд немного громоздкий, и я ищу способы сделать его более простым и плавным. Поскольку шаги входа и добавления теоретически могут быть объединены в один шаг, я бы предпочел сделать это.

Частично это может быть потому, что мы не разрабатываем "Slack app"; мы разрабатываем интеграцию Slack для веб-приложения. Веб-приложение можно использовать без использования Slack и имеет собственные концепции пользователей и сообществ.

Ответ 1

"Лучший способ", на мой взгляд, состоял бы в том, чтобы не объединить эти две функции на вашем веб-сайте, потому что их эффект сильно отличается. Я бы сказал, что это будет путать пользователей, если они будут объединены и не будут хорошо работать с пользователями.

"Добавить в Slack" устанавливает приложение Slack для всей команды Slack. Вы делаете это только один раз, и обычно это делается администратором команды Slack.

"Войти с Slack" используется для аутентификации любого пользователя команды Slack. Вы будете использовать эту функцию каждый раз, когда вы входите в свое приложение и используете его многими пользователями команды Slack.