Microsoft graph api 如何获取自定义Azure AD B2C用户配置文件属性的值

Microsoft graph api 如何获取自定义Azure AD B2C用户配置文件属性的值,microsoft-graph-api,azure-ad-b2c,Microsoft Graph Api,Azure Ad B2c,我有一个Azure广告B2C租户和应用程序,其中启用了使用Facebook、其他AAD和本地帐户的身份验证。B2C中的用户有一些自定义字段,这些字段在注册时填充,并用作JWT令牌中的声明 但我无法在Azure门户中的任何位置看到此字段值,也无法使用Microsoft Graph API 它们存储在何处以及如何访问它们?您可以通过将它们包含在发送到应用程序的令牌中,或者通过查询Azure AD Graph API而不是Microsoft Graph来访问自定义声明 在令牌中包括自定义声明:在Azu

我有一个Azure广告B2C租户和应用程序,其中启用了使用Facebook、其他AAD和本地帐户的身份验证。B2C中的用户有一些自定义字段,这些字段在注册时填充,并用作JWT令牌中的声明

但我无法在Azure门户中的任何位置看到此字段值,也无法使用Microsoft Graph API

它们存储在何处以及如何访问它们?

您可以通过将它们包含在发送到应用程序的令牌中,或者通过查询Azure AD Graph API而不是Microsoft Graph来访问自定义声明

在令牌中包括自定义声明:在Azure门户的B2C刀片中,选择您正在使用的策略,单击编辑、应用程序声明并选择自定义属性。 查询Azure AD Graph API:注册Azure AD应用程序,查询Azure AD Graph API。 下面是一些用于2的C代码

//客户端id、客户端密码和租户从App.config文件中拉入 var clientId=您的客户ID; var clientSecret=您的客户机密; var tenant=yourtanent.onmicrosoft.com; var userObjectID=用户的OID var query=/users/+userObjectId this.authContext=新建AuthenticationContexthttps://login.microsoftonline.com/ +承租人; //ClientCredential是您传递客户机id和客户机机密的地方,它们是 //提供给Azure AD,以便使用应用程序的身份接收访问令牌。 this.credential=new ClientCredentialclientId,clientSecret; //首先,使用ADAL使用应用程序的身份和凭证获取令牌 //第一个参数是我们想要访问令牌的资源;在本例中,图形API。 AuthenticationResult=authContext.Acquiredokenhttps://graph.windows.net资质 //对于B2C用户管理,请确保现在使用Azure AD Graph API。 HttpClient http=新的HttpClient; 字符串url=https://graph.windows.net/ +租户+api+?+Globals.aadGraphVersion; url+=&+查询; //使用承载方案将Graph API的访问令牌附加到请求的授权头。 HttpRequestMessage请求=新建HttpRequestMessageHttpMethod.Get,url; request.Headers.Authorization=新的AuthenticationHeaderValueBearner,result.AccessToken; HttpResponseMessage response=等待http.SendAsyncrequest; 如果response.IsSuccessStatusCode { 字符串错误=wait response.Content.ReadAsStringAsync; 对象格式化=JsonConvert.DeserializeObjecterror; 调用图形API时抛出新WebExceptionError:\n+JsonConvert.SerializeObjectformatted,Formatting.Indented; } return wait response.Content.ReadAsStringAsync;
请参阅本指南以在JWT中包含自定义声明/属性:

请参阅本指南:并通过Azure AD Graph API查看自定义声明


在Graph API中,它们将返回为:extension\u[GUID]\u[ClaimName]

能否帮助我找到获取[GUID]部分的位置?2个选项:从示例ad Graph API应用程序运行b2c get user,并在假设用户上设置了扩展属性的情况下查看输出。2在azure门户中打开广告应用注册->b2c扩展应用->属性->应用id。您可能想问另一个问题@德米特里塔巴科夫