C#控制台应用程序AzureAD如何模仿Powershell的Get-AzureADUser

时间:2019-01-14 20:54:52

标签: c# azure-active-directory

是否有一种方法可以模拟powershell的Get-AzureADUser来读取给定用户的AD属性,而不必注册我要使用Azure构建的C#控制台应用程序?

我知道您可以在C#中运行powershell,但我想知道是否有其他途径可以实现,而无需注册应用程序?

1 个答案:

答案 0 :(得分:1)

简短答案:否。您需要在Azure AD中注册应用程序才能进行身份验证。

更长的答案

AFAIK Azure AD支持的所有OAuth 2.0授予身份验证都将需要有关用于进行身份验证调用的客户端(即已注册的应用程序)的一些信息。无论您使用ADAL库还是直接访问相关的令牌/授权端点,都是如此。

您可能已经知道,但是值得一提的是,使用正确的权限进行身份验证/查询用户数据的最简单和推荐的方法是在Azure AD中注册应用程序。

实际上,Azure AD的默认设置可以促进开发人员能够自己注册应用程序并同意他们的使用情况。在此处阅读。Who has permission to add applications to my Azure AD instance?,最后提到Microsoft本身在内部使用相同的配置。

全面披露:我知道一些非常有知识的人(Microsoft MVP,Microsoft Azure AD团队成员)会遵循azure-active-directory标记。因此,即使我认为这是正确的答案,您的问题仍然是等待更多答案/评论以查看是否还有其他可能。

可能的解决方法,如果它适合您的情况

如果您只是由于没有特定Azure Active Directory租户的权限而不想注册应用程序,则可能有解决方法。

您仍然需要向其他Azure AD租户或Azure AD B2C注册应用程序,然后使您的应用程序成为多租户。有关更多详细信息,请参见this SO post