Проверка подлинности приложения 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.
- Чтобы реализовать систему единого входа, пройдите через Добавить единый вход для бота, а также вы можете сослаться на кодовую базу в шаблоне приложения Expert Finder , и в нем реализована та же функция входа бота, и она работает нормально.
- Не могли бы вы взглянуть на несколько клиентов Azure AD, использующих Azure AD B2C для настройки мультитенантного AD B2C.