这是关于自定义策略注册用户旅程的参考。 我有一个自我声明的编排步骤,该步骤会在组合的signupsignin编排步骤之前收集用户的电子邮件地址。 如果用户声称已经存在,我想跳过此步骤
这在收集刷新令牌时是必需的。
这是编排步骤的编码方式。
<OrchestrationStep Order="1" Type="ClaimsExchange" ContentDefinitionReferenceId="api.selfasserted.email">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="true">
<Value>objectId</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="SelfAssertedEmailExchange" TechnicalProfileReferenceId="SelfAsserted-CollectEmailAddress-NoError" />
</ClaimsExchanges>
</OrchestrationStep>
答案 0 :(得分:1)
我相信这可能是由于 SelfAsserted-CollectEmailAddress-NoError 技术资料未“参与” SSO会话而发生的;因此,它会再次提示同一会话中的同一用户输入电子邮件地址。
要使 SelfAsserted-CollectEmailAddress-NoError 技术资料参与SSO会话,请确保该技术资料包含<UseTechnicalProfileForSessionManagement />
元素,如下所示:
<TechnicalProfile Id="SelfAsserted-CollectEmailAddress-NoError">
...
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserReadUsingEmailAddress-NoError" />
</ValidationTechnicalProfiles>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
</TechnicalProfile>