c# - 团队选项卡上的 Asp.net WebForms 无提示身份验证 AAD

标签 c# azure microsoft-teams

我正在寻找一种使用 Azure Active Directory (AAD) 身份验证(如 SSO 身份验证)构建 Web 表单应用程序 C# 4.7 的方法。 此 Web 应用程序部署在 Azure Web 应用程序上。

我想从以下位置使用此网站: 网络浏览器 - 全部

“团队”选项卡(将其作为选项卡添加到团队中)-- 在 Web 和桌面应用程序上工作

我尝试了 3 个选项:

1/ 使用 Azure Web 应用程序身份验证(使用我们的 AAD 配置),它可以在 Web 浏览器和 Teams Web 上正常工作
但不适用于 Teams 桌面应用程序...

2/ 在 C# 代码上使用 AAD V2 OAuth2 实现 OWin Auth,其工作方式类似于 1 选项。但不适用于 Teams 桌面应用程序...

3/ 现在我正在寻找一种方法,我认为这是好方法,但我没有在 WebForms C# .Net 项目上找到使用方法 https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/authentication/auth-tab-aad

最佳答案

OAuth 是一种基于 Web 的协议(protocol),依赖于 URL 之间的重定向。当你的选项卡在 Teams 客户端内运行时,没有可重定向回的 URL,因此身份验证失败(这就是在桌面客户端中运行选项卡时发生的情况)。您需要让 Teams 为您启动身份验证过程:您不能直接执行此操作。此方法在浏览器中也适用,并且用户体验得到改善,因为登录不会发生在单独的浏览器选项卡中,而是发生在模态弹出窗口中。

您需要使用选项卡 SDK 方法 microsoftTeams.authentication.authenticate()。这个的用法有很详细的解释here 。 (您找到的 URL 是专门针对 AAD 的配套文章,没有概述信息。)

这里有一个 C# 示例:Microsoft Teams tab authentication sample (C#) .

关于c# - 团队选项卡上的 Asp.net WebForms 无提示身份验证 AAD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51302873/

相关文章:

C# 根据内容类型获取文件扩展名

c# - Autofac 解析具有不同参数的同一类实例

azure - 无法将 Webhook 订阅添加到 Azure 事件网格

azure - 如何与 New-AzureRmResourceGroupDeployment cmdlet 一起传递额外参数

Azure bash CLI 支持 while 和 do

java - 我在使用 Microsoft Graph Api 甚至使用 PowerShell 命令创建团队时收到 502 Bad gateway 错误

android - 从我的 Android 应用程序启动与 MS Teams Android 应用程序中的用户聊天

c# - 可以将私有(private)方法放在我的 Controller 中,还是应该使用 asp.net mvc 将它们分离到某种类型的帮助程序类中?

c# - 如何返回一个空的 ReadOnlyCollection

microsoft-graph-api - Microsoft Graph API GET onlineMeeting 通过 joinUrl