发送从用户隐藏的Azure AD B2C声明

时间:2017-09-21 18:42:45

标签: azure-ad-b2c

sending claims to B2C via a JWT跟随WingTig Games demo code。如何从用户隐藏自我声明的注册TechnicalProfile的声明(如下所示的LocalAccountSignUpWithLogonNameWithIDs)?

我尝试从UserInputType定义中删除ClaimType节点,但后来在用户旅程播放器中出现以下错误:

  

在租户“mytenant.onmicrosoft.com”的策略“B2C_1A_signup_signin_extensions”中,ID为“LocalAccountSignUpWithLogonNameWithIDs”的技术配置文件中指定的输出声明类型“extension_my_claim”未指定UserInputType或DefaultValue,也未从ValidationTechnicalProfile检索

然后,我从InputClaims的{​​{1}}和OutputClaims删除了我的声明,并删除了错误,但这些值并未保留。

TechnicalProfile

2 个答案:

答案 0 :(得分:4)

如果您想在目录中保留声明而不向用户显示声明,那么最好的选择是:

  1. 将其InputClaim添加到LocalAccountSignUpWithLogonNameWithIDs技术资料
  2. PersistedClaim技术资料中添加AAD-UserWriteUsingLogonName,将其写入目录
  3. 您所做的就是一直发送声明以保持持久性,但声明您不希望来自OutputClaim的{​​{1}}。

    当您将声明添加为SelfAssertedAttributeProvider时,您声明OutputClaim需要有办法获取该值。截至今天,它可以从三种可能的方式中选择:

    1. 由用户提供(SelfAssertedAttributeProvider定义中需要UserInputType
    2. 取自ClaimType
    3. 作为政策中的ValidationTechnicalProfile的{​​{1}}提供
    4. 您获得的错误很可能是因为DefaultValue技术资料无法获得此声明的值。

答案 1 :(得分:1)

如上所述,

在自我声明的技术配置文件中,输出声明将其呈现给用户

如果先前已在前一步骤中填写过索赔,则您无需在步骤之间传递索赔,它们会一直保留在索赔包中,直到旅程结束或直到您使用转换删除它们为止。