返回自定义政策的电子邮件

时间:2017-11-06 20:44:16

标签: azure azure-ad-b2c

我使用自定义政策,我看到了该字段"电子邮件"存在于内置策略中但不存在于自定义策略中。有一个名为otherMails的声明。

  • 我想在我的令牌中返回emails声明,其中包含用户电子邮件列表。
  • 我希望在我的注册/登录和密码重置政策上声明。

我在初学者包中使用自定义策略。但我不知道应该改变哪个TechnicalProfiles。我尝试过一些东西,但它没有用。

提前致谢!

2 个答案:

答案 0 :(得分:3)

编写本地帐户时:您必须创建" otherMails"来自"电子邮件"声明使用" CreateOtherMailsFromEmail"声称转型,然后坚持"其他邮件"声明在" AAD-UserWriteUsingLogonEmail"技术简介:

<TechnicalProfile Id="AAD-UserWriteUsingLogonEmail">
  ...
  <IncludeInSso>false</IncludeInSso>
  <InputClaimsTransformations>
    <InputClaimsTransformation ReferenceId="CreateOtherMailsFromEmail" />
  </InputClaimsTransformations>
  <InputClaims>
    ...
  </InputClaims>
  <PersistedClaims>
    ...
    <PersistedClaim ClaimTypeReferenceId="otherMails" />
  </PersistedClaims>
  <OutputClaims>
    ...
    <OutputClaim ClaimTypeReferenceId="otherMails" />
  </OutputClaims>
  ...
</TechnicalProfile>

然后你必须通过&#34; otherMails&#34;声称来自&#34; LocalAccountSignUpWithLogonEmail&#34;调用注册本地帐户的技术配置文件:

<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
    ...
    <OutputClaims>
        ...
        <OutputClaim ClaimTypeReferenceId="otherMails" />
    </OutputClaims>
</TechnicalProfile>

撰写社交帐户时:&#34;其他邮件&#34;声明已经从&#34;电子邮件&#34;声称然后坚持在&#34; AAD-UserWriteUsingAlternativeSecurityId&#34;技术概况。

然后你必须通过&#34; otherMails&#34;声称来自自我论证的社会&#34;用于注册社交帐户的技术配置文件:

<TechnicalProfile Id="SelfAsserted-Social">
    ...
    <OutputClaims>
        ...
        <OutputClaim ClaimTypeReferenceId="otherMails" />
    </OutputClaims>
</TechnicalProfile>

阅读本地或社交帐户时:&#34;其他邮件&#34;声明已经在&#34; AAD-UserReadUsingObjectId&#34;,&#34; AAD-UserReadUsingEmailAddress&#34;和&#34; AAD-UserReadUsingAlternativeSecurityId&#34;技术概况。

然后你必须通过&#34; otherMails&#34;声称来自&#34; LocalAccountDiscoveryUsingEmailAddress&#34;调用以恢复本地密码的技术配置文件:

<TechnicalProfile Id="LocalAccountDiscoveryUsingEmailAddress">
    ...
    <OutputClaims>
        ...
        <OutputClaim ClaimTypeReferenceId="otherMails" />
    </OutputClaims>
</TechnicalProfile>

发出&#34; otherMail&#34;索赔&#34;电子邮件&#34;从注册/登录和密码重置策略:您必须添加&#34; otherMails&#34;声称为<OutputClaim />依赖方政策:

<RelyingParty>
    ...
    <TechnicalProfile Id="PolicyProfile">
        <OutputClaims>
            ...
            <OutputClaim ClaimTypeReferenceId="otherMails" PartnerClaimType="emails" />
        </OutputClaims>
    </TechnicalProfile>
</RelyingParty>

答案 1 :(得分:1)

对于Chris Padgett的回答,您可以在声明中添加其他电子邮件(备用电子邮件)。

如果您只想将登录名中的电子邮件声明添加到令牌中,则可以执行以下步骤:

  1. 打开您的msg: 'Must be a valid type', 文件

  2. SignUporSignIn.xml替换为<OutputClaim ClaimTypeReferenceId="email" />

  3. 保存此SignUporSignIn.xml文件并将其上传到Azure AD B2C以覆盖该策略。

  4. 运行SignUporSignIn策略进行测试。 这是我的测试结果,您可以在令牌中看到电子邮件声明: enter image description here