Azure active directory 如何使用identity server 3和microsoft Team app使用Azure AD令牌进行身份验证

Azure active directory 如何使用identity server 3和microsoft Team app使用Azure AD令牌进行身份验证,azure-active-directory,identityserver4,openid-connect,microsoft-teams,identityserver3,Azure Active Directory,Identityserver4,Openid Connect,Microsoft Teams,Identityserver3,我们使用自定义idp(identity server 3)对系统上的用户进行身份验证。现在我需要实现Azure AD身份验证。我尝试将Azure AD添加为外部提供商。它在浏览器上运行良好,但在MS Team应用程序上,它不起作用,因为Microsoft Team应用程序在Iframe中打开,而Azure AD在Iframe上不起作用。 我实现了Microsoft msal.js库以使用Azure AD进行身份验证。我能够在前端进行身份验证并获取令牌。但是我如何将该令牌传递给identity s

我们使用自定义idp(identity server 3)对系统上的用户进行身份验证。现在我需要实现Azure AD身份验证。我尝试将Azure AD添加为外部提供商。它在浏览器上运行良好,但在MS Team应用程序上,它不起作用,因为Microsoft Team应用程序在Iframe中打开,而Azure AD在Iframe上不起作用。
我实现了Microsoft msal.js库以使用Azure AD进行身份验证。我能够在前端进行身份验证并获取令牌。但是我如何将该令牌传递给identity server 3并使用我自己的identity server对用户进行身份验证。

您是否查看了这些资源,它们似乎解释了如何实现您的设置:


如果我正确理解您的需求,您可以尝试以下解决方案:
当用户登录到Teams应用程序时,使用Azure Ad对其进行身份验证。现在,您可以将登录用户的广告信息(最好是用户主体名称)发送到您的IS3,并从您的终端进行身份验证。

不确定您在这里的设置是什么。我理解正确吗?你有IS3认证用户,你想使用AzureAD作为你的IdP,你想在通过IS3登录时使用MSTeam,对吗?使用AzureAD作为IS3的IdP应该很容易(网上有关于如何做的教程)。我想添加对用户通过Microsoft帐户登录的支持,但我将继续使用IS3作为我的idp。我在IS3中添加了Azure广告作为外部提供商,它在web上运行良好。但在Ms Teams应用程序中,它不起作用,因为Teams应用程序运行在Iframe上,而Microsoft不允许在Iframe中进行身份验证。我该怎么做。@Garv下面的答案对你有帮助吗,或者你仍然面临这个问题吗?下面的答案都与在前端进行身份验证有关,我可以这样做并从Azure AD获得令牌。但是我面临着将前端与我的IS3集成的障碍,我不知道如何在IS3中使用azure的访问令牌并从我的IS3验证用户。@Garv您的IS3服务是否使用令牌或有效的用户电子邮件id作为参数?我已经查看了这些资源并实现了这一点。这些链接都是用于在teams应用程序前端进行身份验证的。我能做到这一点。但是,在我从Microsoft获得id_令牌后,我可以调用我的IS3使用Microsoft的id_令牌颁发承载令牌。您可以使用令牌交换规范()将id令牌交换为访问令牌。另一个可行的解决方案是,在您登录团队后,您可以使用IS3启动常规授权流,并且它应该自动使用Azure AD凭据(使用SSO)对您进行身份验证。如果使用的是Azure AD的同一个域,则Iframe在这里不应该是问题。是否可能我在客户端进行身份验证,然后调用IS3直接基于用户ID颁发令牌,而不在IS3上对用户进行身份验证。如果IS3支持令牌交换,则是。此外,如果SSO工作正常,用户也应该得到IS3的授权,而不需要任何额外的身份验证。是的,我也想这样做。但是对于这个场景,我应该使用哪个O身份验证流呢。我找不到此的O身份验证流。