Проверка подлинности приложения Azure AD B2C и MS Teams (бот + вкладка)

Надеюсь, с тобой все хорошо.

Мы работаем над интеграцией нашего приложения с MS Teams с помощью приложения Teams с ботом и вкладкой, и мы боремся с аутентификацией.

Наш сценарий:

  • Мы используем Azure AD B2C для аутентификации в нашем приложении (с использованием предопределенных пользовательских потоков).
  • У нас есть разные клиенты, использующие Azure AD (каждый со своим собственным клиентом Azure AD). Мы создали настраиваемого поставщика удостоверений, который позволяет пользователям входить в систему и регистрироваться в нашем приложении, используя их собственные учетные данные Azure AD.
  • Мы создали регистрацию канала бота с помощью поставщика услуг Generic Oauth 2 для подключения к нашему боту с помощью Azure AD B2C.

Наши задачи:

  • В идеале мы хотим реализовать единый вход для нашего бота в Teams, чтобы наши клиенты могли входить в наше приложение, используя свои учетные данные MS Teams. Нам удалось пройти аутентификацию с помощью OAuthPromptдля команд, следующих этому образцу, но проблема, которую мы видели, заключается в том, что пользователю необходимо входить в систему каждый раз, когда открывается бот (т. е. токен обновления не работает), а также мы не можем отправить строку запроса "domain_hint" на дифференцировать наших клиентов.
  • В идеале мы хотим, чтобы аутентификация выполнялась с использованием только одной регистрации канала бота. Вероятно, этого можно было бы достичь, создав регистрацию одного канала для каждого клиента, но в долгосрочной перспективе нам нужно будет создать одного бота для каждого клиента, и это может быть трудно поддерживать / избегать установки нашими клиентами регистрации приложений в своих Azure AD.

У кого-нибудь был подобный опыт работы с приложениями MS Teams для нескольких клиентов Azure AD с использованием Azure AD B2C? Как вы рекомендуете лучший способ справиться с этим сценарием?

Ваша помощь будет оценена!

Заранее спасибо!

2 ответа

Решение

Если это кому-то помогает, после некоторого исследования мы делаем следующее для нашего сценария:

  • Для единого входа на вкладках, учитывая ограничение OAuthPromptчтобы не обновлять токены (мы не хотим, чтобы пользователи входили в систему каждый раз, когда истекает срок действия токена), мы следуем этому решению, опубликованному несколько месяцев назад https://github.com/igrep/example-teams-bot-with-ms- аккаунт-обновления-токен .

  • Для обработки нескольких клиентов Azure AD в B2C, учитывая, что мы используем предопределенные пользовательские потоки и нам нужно создать настраиваемый вход для нашего сценария, мы собираемся передать получение и передачу domain_hint из MS Teams в Azure AD B2C.

Другие вопросы по тегам