Я работаю над 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 и имеет собственные концепции пользователей и сообществ.