有没有办法模仿 powershell 的 Get-AzureADUser 来读取给定用户的 AD 属性,而无需注册我尝试使用 Azure 构建的 C# 控制台应用程序?
我知道您可以在 C# 中运行 powershell,但我想知道是否可以采取不同的路线来实现相同的目标而不注册应用程序?
简答:不需要。您需要向 Azure AD 注册应用程序才能进行身份验证。
更长的答案:
据我所知,Azure AD 支持的所有 OAuth 2.0 身份验证授权都需要一些有关用于进行身份验证调用的客户端(即注册的应用程序)的信息。无论您使用 ADAL 库还是直接访问相关令牌/授权端点,情况都是如此。
您可能已经知道,但值得一提的是,使用正确的权限进行身份验证/查询用户数据的最简单且推荐的方法是向 Azure AD 注册您的应用程序。
事实上,Azure AD 的默认设置促进了开发人员能够代表自己注册应用程序并同意应用程序的用例。读到这里..谁有权将应用程序添加到我的 Azure AD 实例? https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-how-applications-are-added#who-has-permission-to-add-applications-to-my-azure-ad-instance最后它提到微软本身在内部使用相同的配置。
全面披露:我知道一些非常有知识的人(Microsoft MVP、Microsoft Azure AD 团队成员)遵循 azure-active-directory 标签。因此,尽管我认为这是正确的答案,但你的问题是这样的,等待更多答案/评论来看看是否还有其他可能是有意义的。
如果适合您的场景,可能的解决方法:
如果您只是因为没有特定 Azure Active Directory 租户的权限而不想注册应用程序,则可能有一种解决方法。
你仍然需要使用不同的 Azure AD 租户或 Azure AD B2C 注册应用程序,然后将你的应用程序设为多租户。看这个帖子 https://stackoverflow.com/questions/46056091/azure-ad-authentication-without-app-registration更多细节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)