1

我们正在使用带有机器人和选项卡的 Teams 应用程序将我们的应用程序与 MS Teams 集成,我们正在努力进行身份验证。

我们的场景是:

  • 我们使用 Azure AD B2C 对我们的应用进行身份验证(使用预定义的用户流)。
  • 我们有不同的客户使用 Azure AD(每个客户都有自己的 Azure AD 租户)。我们创建了一个自定义身份提供程序,使用户能够使用他们自己的 Azure AD 凭据登录/注册我们的应用程序。
  • 我们使用“通用 Oauth 2”服务提供程序创建了一个机器人通道注册,以使用 Azure AD B2C 连接到我们的机器人。

我们的挑战是:

  • 理想情况下,我们希望在 Teams 中为我们的机器人实施 SSO,以允许我们的客户能够使用他们的 MS Teams 凭据登录我们的应用程序。我们设法按照此示例OAuthPrompt使用Teams进行身份验证,但我们看到的挑战是用户每次打开机器人时都需要登录(即刷新令牌不起作用),而且我们无法发送“ domain_hint" 查询字符串以区分我们的客户。
  • 理想情况下,我们希望仅使用一个机器人通道注册来处理身份验证可能可以通过为每个客户创建一个通道注册来实现,但从长远来看,我们需要为每个客户创建一个机器人,这可能是难以维护/避免我们的客户在其 Azure AD 上安装应用程序注册。

任何人都有过使用 Azure AD B2C 为多个 Azure AD 租户处理 MS Teams 应用程序的类似经历吗?您推荐处理这种情况的最佳方法是什么?

您的帮助将不胜感激!

提前致谢!

4

2 回答 2

1

如果它对某人有帮助,经过一些研究,我们正在为我们的场景执行以下操作:

  • 对于选项卡中的 SSO,鉴于OAuthPrompt不刷新令牌的限制(我们不希望用户在每次令牌过期时都登录),我们遵循几个月前发布的此解决方案https://github.com/igrep /example-teams-bot-with-ms-account-refresh-token

  • 为了在 B2C 中处理多个 Azure AD 租户,假设我们正在使用预定义的用户流并且我们需要为我们的场景构建自定义登录,我们将传递 get 并将其domain_hint从 MS Teams 传递到 Azure AD B2C。

于 2021-07-16T16:07:37.307 回答
0
于 2021-07-12T17:02:20.167 回答