从Azure AD获取用户B2C:此API版本不支持
问题描述:
我从一位使用Azure AD B2C的同事接管了项目的一部分。从Azure AD获取用户B2C:此API版本不支持
目前我们使用old Azure portal中的用户列表来获取用户的认证令牌,然后我们可以将其绑定到我们自己的数据库中的用户条目。即我们复制和粘贴从这里列:
这将是更为明智的编程方式做到这一点。
文章Azure AD B2C Preview: Use the Graph API包括下载示例代码。为了让它运行,我需要这些东西:
<appSettings>
<add key="b2c:Tenant" value="[Enter tenant name, e.g. contoso.onmicrosoft.com]" />
<add key="b2c:ClientId" value="[Enter the client ID (a.k.a AppPrincipalId) as obtained from the Azure AD Powershell, e.g. 82692da5-a86f-44c9-9d53-2f88d52b478b]" />
<add key="b2c:ClientSecret" value="[Enter the client secret that you generated, e.g. ONHJGaI232VenJIboyg8hmTlyNXh0Ef0brRRRNWBRfc=]" />
</appSettings>
我可以得到租户和新Azure的门户网站的门户应用程序ID:
和我的同事已通过我的客户端秘密从他制作目录的时候开始。
继文章中,我现在编译应用程序并运行
B2C获取用户
但不是用户从我们的Azure的AD B2C目录的预期列表我得到错误信息
AADSTS70001:此API版本不支持应用程序my-app-id。
跟踪ID:一个全局唯一标识符
相关ID:另一个全局唯一标识符
时间戳:2016年7月15日10:27:15Z
如何编程得到用户在我的Azure的AD B2C目录?
答
运行从这里的PowerShell命令来注册一个新的服务主体: https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-devquickstarts-graph-dotnet/
这项新的服务主体有它自己的应用标识,以及它自己的客户端密钥。
您混合了其中一些(您选择的AppId来自B2C应用程序,而不是B2C/AD服务负责人)