繁体   English   中英

Microsoft Graph SDK 未返回 Azure AD B2C 用户的自定义属性值

[英]Microsoft Graph SDK not returning Custom attributes values of Azure AD B2C Users

我添加了一个新的自定义属性,并在注册登录用户流的应用程序声明中选择了它。

所以我创建了一个新用户并在注册期间为这个自定义属性设置了一个值。 当我与用户登录时,该属性会保留在令牌声明中,因此我可以从令牌中获取值。

所以现在我需要使用 Graph SDK 来获取它,我正在尝试使用受此Microsoft Docs启发的以下代码

        ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);
        GraphServiceClient graphClient = new GraphServiceClient(authProvider);

        var customAttribute = $"extension_clientIdWithoutDash_CustomAttributeName";

        var result = await graphClient.Users["2d7f1b9d-b57c-4a1a-bf56-fa27a952bacf"]
            .Request()
            .Select(customAttribute)
            .GetAsync();

        var customAttributsAreHere = result.AdditionalData;

但是当我检查响应时,自定义属性不存在。 如果我将它们包含在 select 中,则存在默认属性。 任何线索可能是什么原因?

这是我在将自定义属性请求为“extension_clientId_customattribute”时使用的客户端 ID。 (但没有连字符)

在此处输入图像描述

您必须使用使用扩展创建的应用程序的客户端 ID(取决于扩展的创建方式)。 请参考这篇文章

扩展属性只能在应用程序 object 上注册,即使它们可能包含用户的数据。 扩展属性附加到名为b2c-extensions-app 的应用程序 不要修改此应用程序,因为 Azure AD B2C 使用它来存储用户数据。 您可以在 Azure AD B2C、应用注册下找到此应用程序。

您可以在 Azure AD -> App Registration 中找到此应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM