具有静态值的Azure AD B2C自定义策略更新用户属性

时间:2018-06-29 14:10:38

标签: azure azure-active-directory azure-ad-b2c

我目前正在使用Azure AD B2C测试一种理论,该理论要求使用用户未输入的静态值更新用户配置文件上的值。我试图尝试遵循profile edit example的路径,但似乎无法使其正常工作。此时,我更新什么值都无所谓,我只想能够更新一个值,为此实验选择了“状态”属性。

在用户旅程中,我需要执行以下编排步骤:

<OrchestrationStep Order="5" Type="ClaimsExchange">
   <ClaimsExchanges>
      <ClaimsExchange Id="UpdateStateValue" TechnicalProfileReferenceId="LocalAccountUpdateStateValue" /
   </ClaimsExchanges>
</OrchestrationStep>

技术简介如下:

<TechnicalProfile Id="LocalAccountUpdateStateValue">
   <DisplayName>Update Password Set Value</DisplayName>
   <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
   <Metadata>
      <Item Key="ContentDefinitionReferenceId">api.selfasserted</Item>
   </Metadata>
   <CryptographicKeys>
      <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
   </CryptographicKeys>
  <InputClaims>
     <InputClaim ClaimTypeReferenceId="objectId" />
  </InputClaims>
  <OutputClaims>
  </OutputClaims>
  <ValidationTechnicalProfiles>
     <ValidationTechnicalProfile ReferenceId="AAD-UserUpdateStateValue" />
  </ValidationTechnicalProfiles>
</TechnicalProfile>
<TechnicalProfile Id="AAD-UserUpdateStateValue">
   <Metadata>
      <Item Key="Operation">Write</Item>
      <Item Key="RaiseErrorIfClaimsPrincipalAlreadyExists">false</Item>
      <Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
   </Metadata>
   <IncludeInSso>false</IncludeInSso>
 <InputClaims>
   <InputClaim ClaimTypeReferenceId="objectId" Required="true" />
 </InputClaims>
 <PersistedClaims>
    <!-- Required claims -->
    <PersistedClaim ClaimTypeReferenceId="objectId" />
    <!-- Optional claims -->
    <PersistedClaim ClaimTypeReferenceId="state" DefaultValue="CA"/>
  </PersistedClaims>
  <IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>

我基本上想做的是每次通过用户旅程时都将“ state”值更新为“ CA”,但似乎不起作用。我首先尝试仅直接参考“ AAD-UserUpdateStateValue”技术配置文件而没有成功,然后转向更类似于配置文件编辑示例的内容。

我们无疑对Azure B2C还是陌生的,因此感谢您提供任何帮助或对可能有帮助的文章的引用。

0 个答案:

没有答案