C# Azure AD如何在用户对我们的应用程序进行身份验证时从用户处获取租户Id
我已经使用OAuth2创建了一个具有Azure Active Directory身份验证的Asp.net应用程序,并按预期工作 现在,当用户登录到我的应用程序时,我将获得用户数据,如用户电子邮件id和提供商密钥 现在的要求是,我需要从响应中获取用户租户Id 是否有机会从响应中获取用户租户id 这里我使用getExternalLoginFoAsync()获取经过身份验证的用户数据C# Azure AD如何在用户对我们的应用程序进行身份验证时从用户处获取租户Id,c#,asp.net-mvc,entity-framework,azure,C#,Asp.net Mvc,Entity Framework,Azure,我已经使用OAuth2创建了一个具有Azure Active Directory身份验证的Asp.net应用程序,并按预期工作 现在,当用户登录到我的应用程序时,我将获得用户数据,如用户电子邮件id和提供商密钥 现在的要求是,我需要从响应中获取用户租户Id 是否有机会从响应中获取用户租户id 这里我使用getExternalLoginFoAsync()获取经过身份验证的用户数据 private IAuthenticationManager AuthenticationManager
private IAuthenticationManager AuthenticationManager
{
get
{
return HttpContext.GetOwinContext().Authentication;
}
}
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
谢谢你的帮助
现在的要求是,我需要从响应中获取用户租户Id
loginInfo.Login.LoginProvider将如下所示:
https://sts.windows.net/{tenant-Id}/
或者,您可以通过以下代码段检索租户Id:
var tenantId = loginInfo.ExternalIdentity.FindFirst(c => c.Type == "http://schemas.microsoft.com/identity/claims/tenantid").Value;
并确保您的应用程序应具有以下权限:
1) 读取目录数据
2) 阅读所有用户的完整配置文件
3) 登录并阅读用户配置文件请共享代码。通常租户id应该在结果对象中可用。感谢您的快速响应,因为我已经分享了我的代码片段。你能调查一下吗。