繁体   English   中英

有没有办法使用 Azure AD 令牌对 ASP.NET Core MVC controller 操作进行身份验证?

[英]Is there a way to authenticate an ASP.NET Core MVC controller action using an Azure AD token?

我需要将已在生产中的 ASP.NET Core MVC web 应用程序加载到 Microsoft Teams 的选项卡中。 web 应用程序使用 Azure AD OpenID Connect 对用户进行身份验证,而 web 应用程序有自己的 Azure AD 应用程序,因此我创建了一个新的 Teams 应用程序和一个新的 Azure AD 应用程序。

我使用 Teams 选项卡 SSO 从为 Teams App 创建的 Azure AD 中获取用户的访问令牌。 我的要求是使用从 Teams 应用程序静默获取的访问令牌,将用户身份验证到 .net 核心 web 应用程序。 这两个 Azure AD 应用程序都在同一个租户中。

这样做绝对有可能 - 您可以使用授权 header 将令牌作为不记名令牌传递给任何 API 调用,然后只需在您的 API 中对其进行验证。这是一个非常粗略的示例,在 Node 中(可以进行JWT 验证in.Net当然也是如此): https://github.com/pnp/teams-dev-samples/blob/main/samples/tab-sso/src/nodejs/api-server/server.js#L29

以下是如何将令牌发送到后端的示例: https://github.com/pnp/teams-dev-samples/blob/main/samples/tab-sso/src/nodejs/src/components/Tab。 js#L76

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM