【发布时间】:2016-05-18 15:18:17
【问题描述】:
我最近尝试以编程方式在我的 Azure AD B2C(预览版)实例中创建用户。阻碍我的部分只是试图检索令牌。到目前为止,我已经尝试过:
var clientId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
var clientSecret = @"xxxxxxxxxxxxxxxx";
var tenant = "xxxxxxxxxxxx.onmicrosoft.com";
var authContext = new AuthenticationContext("https://login.microsoftonline.com/" + tenant);
var credential = new ClientCredential(clientId, clientSecret);
var result = await authContext.AcquireTokenAsync("https://graph.windows.net", credential);
当执行到最后一行以尝试获取令牌时,我得到:
Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException:AADSTS70001:此 API 版本不支持应用程序“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”。
我可以从这个错误中推断出什么?这是否意味着已暂时删除 Azure AD B2C 的 Graph 访问权限?还是我需要启用某些东西?还是我有一个端点 URL 错误?
【问题讨论】:
-
您在使用 ADAL v2 吗?这是 Graph API 所必需的,而不是 ADAL v4(B2C 所必需的),否则,我假设您遵循本教程:azure.microsoft.com/en-us/documentation/articles/… 它适用于我们的 B2C 创建用户
-
我有 NuGet 包 Microsoft.IdentityModel.Clients.ActiveDirectory 版本 3.10.30516。你知道我是否需要遵循示例中显示的所有 Powershell 步骤吗?它们似乎是关于设置应用程序和客户端密码的,我似乎可以直接在 Azure 刀片中完成。
-
是的,您需要创建一个单独的应用程序和客户端密码,B2C 中的那个不可用(权限不足),我们使用的是 2.x 版本的 ADAL 库。跨度>
-
而且它也适用于 3.10 ADAL 版本,我只是做了一个升级来测试这个。
-
非常感谢,您的最后 2 个 cmets 对我来说是最后一块拼图。您想将您的 cmets 放入答案中,我可以将其标记为答案吗?
标签: azure-ad-graph-api azure-ad-b2c