Ссылки MS Teams с вкладки на каналы чата запрашивают авторизацию только в мобильном приложении

#android #microsoft-graph-api #microsoft-teams #microsoft-graph-teams

#Android #microsoft-graph-api #microsoft-teams #microsoft-graph-teams

Вопрос:

У нас есть приложение teams, которое использует сетку на пользовательской вкладке (вкладка пользователя) для отображения списка каналов с определенными деталями, связанными с работой компании. Идея заключается в том, что, когда пользователь приложения заинтересован в том, чтобы перейти к одному из элементов в списке, он нажимает и перенаправляется на «Командный канал», который связан с этим элементом в списке. Команды и канал создаются нашим приложением динамически с использованием MS GRAPH API в организации, где установлено приложение. Все это работает хорошо, и мы храним в нашем собственном бэкэнде сведения о каждом созданном канале (URL, предоставленный Graph API для перенаправления пользователей на эти каналы).

Все это работает хорошо, и в веб-интерфейсе и настольной версии приложения поведение безупречно. Хотя при тестировании мобильной версии MS TEAMS на планшете ANDROID (Galaxy Tablet с Android V 10 и MS Teams V 1416/1.0.0.2021020402) мы заметили, что пользователи, которые являются либо «владельцами», либо «участниками» связанных каналов, получают сообщение «с просьбой присоединиться» к каналукогда они нажимают на ссылку на вкладке приложения, которая должна перенаправить их на указанный канал. Те же пользователи могут в любом случае из самого мобильного приложения увидеть команду и канал, связанные с записью в списке, и выбрать ее … и пообщаться по ней… но при переходе со вкладки нашего приложения на сам канал появляется экран «Запрос на присоединение».

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

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

Спасибо!

Хорхе Луна.

Комментарии:

1. итак… где ваш код? что не сработало, как ожидалось? какой именно текст ошибки вы получили обратно? … подробности, пожалуйста! … [ усмешка ]

2. как вы связываетесь с каналами? Прямые URL-адреса или глубокие ссылки?

3. Привет… Спасибо за ответ … что касается деталей, то ссылка, о которой я говорю, — это прямая ссылка, которую мы извлекаем из сведений о канале, когда создаем его с помощью приложения. Ссылка выглядит примерно так: ‘https ://teams.microsoft.com/l/channel/19:19{SOMEGUID_CHANNEL}@thread.tacv2/{SOME_CHANNEL_NAME}?groupId={SOME_TEAM_GROUP_ID}amp;tenantId={COMPANY_TENANT_ID} » …

4. Что касается кода, это просто обычная привязка, сгенерированная приложением REACT….. Я не уверен, добавит ли это к уравнению больше, поскольку ссылка работает должным образом в веб-браузере… и извлечение всего кода для его публикации здесь не может быть и речи по соображениям конфиденциальности компании (я могу предоставить более подробную информацию в личном чате, если вы считаете, что это будет необходимо)… Еще раз спасибо за помощь.

5. Привет, Ivancho72, не могли бы вы поделиться с нами шагами воспроизведения и скриншотами

Ответ №1:

Мы надеемся, что вы пытаетесь выполнить аутентификацию для вкладок. OAuth 2.0 — это открытый стандарт аутентификации и авторизации, используемый Azure Active Directory (AAD) и многими другими поставщиками удостоверений. Базовое понимание OAuth 2.0 является необходимым условием для работы с аутентификацией в Teams. Для получения дополнительной информации см. Упрощенный OAuth 2, который легче соблюдать, чем формальная спецификация. Поток аутентификации для вкладок и ботов отличается, потому что вкладки похожи на веб-сайты, поэтому они могут напрямую использовать OAuth 2.0. Боты выполняют несколько действий по-разному, но основные концепции идентичны.

Не могли бы вы попробовать приведенный ниже пример кода.

Если вы все еще сталкиваетесь с проблемой, пожалуйста, напишите в сообщество Microsoft Teams