如何在Microsoft Graph中列出CreationType=LocalAccount的B2C用户?
如何在Microsoft Graph中筛选Azure AD B2C本地用户
首先明确:目前Microsoft Graph确实没有直接对应旧版Azure AD Graph里creationType的字段,但有几种可靠的替代方法可以筛选出B2C本地用户:
通过
identities属性精准匹配:B2C本地用户的身份标识里,signInType通常是emailAddress、userName或phoneNumber(具体取决于你配置的用户流类型),而Azure AD内部用户或B2B来宾不会使用这些登录类型。你可以用OData过滤器来匹配这些标识:GET https://graph.microsoft.com/v1.0/users?$filter=identities/any(c:c/signInType eq 'emailAddress' or c:c/signInType eq 'userName' or c:c/signInType eq 'phoneNumber')结合
userType排除B2B来宾:如果你的租户同时存在B2C本地用户和B2B来宾,可叠加userType ne 'Guest'进一步缩小范围,避免误包含B2B用户:GET https://graph.microsoft.com/v1.0/users?$filter=userType ne 'Guest' and identities/any(c:c/signInType eq 'emailAddress' or c:c/signInType eq 'userName' or c:c/signInType eq 'phoneNumber')
关于你提到的截至3/17微软仍推荐旧版Azure AD Graph的情况:当时确实因为Microsoft Graph对B2C的功能覆盖还不完善,官方建议部分场景继续使用旧版。不过后续Microsoft Graph已逐步补齐了B2C相关能力,现在绝大多数B2C用户管理操作都可以通过新版Graph完成。
另外要注意,执行这类查询需要你的应用拥有足够权限,比如User.Read.All或Directory.Read.All,否则会返回权限不足的错误。
内容的提问来源于stack exchange,提问作者Justin Dearing
相关产品推荐
相关产品推荐

