ContinueOnError="false" combined with a validation profile that is a ClaimsTransformation Technical Profile using a AssertStringClaimsAreEqual claims transformation does not appear to stop the next validation profiles from being executed.
⚠Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
@sgdesmet Thanks for your feedback! We will investigate and update as appropriate.
Dear @sgdesmet,
Thank you for sharing this information. I'm checking this issue, but in my unit test I see the opposite. Azure AD B2C never move on to the next validation technical profile, event if with ContinueOnError="true". Could you elaborate on this issue? share your policy (please remove Identifiable data and try to isolate the issue)?
Enclosed pleas find a copy of my test policy.
TP_validation.txt
Yoel
Hello @yoelhor apologies for the delay, I seem to have missed the notification.
I've attached the (redacted) technical profiles we're using:
example.txt
The entire Journey is quite extensive so I've just added the technical profiles for now. Let me know if you need a full working example.
We notice that AAD-UserWriteUsingAlternativeSecurityId is executed even if the assertion AssertTOSHasBeenSelected fails (and the error is shown to the user)
For now we've used Preconditions to precent the validation profiles from being executed.
Hello @yoelhor .
We are also seeing the exact issue as the original poster. In addition we are seeing a similar behaviour when calling the AssertBooleanClaimIsEqualToValue Claims Transformation from a AAD Technical Profile called as a Validation Technical Profile.
When the assertion is false we are seeing the expected error message displayed, which suggests an error IS being returned in some form, however subsequent Validation Technical Profiles continue to be executed.
Has any further progress been made in identifying the cause?
We may be able to to resolve one of our issues using pre-conditions, however that may not be possible with the other.
Chris
Having the same issue as above. Our ClaimsTransformation using a TransformationMethod of AssertBooleanClaimIsEqualToValue is throwing the error to the user correctly, however the steps continue to process like nothing happened.
Also having the same issue. AssertStringClaimsAreEqual is validating and showing a message as expected, but next step is executing regardless, and pre-conditions do not work either.
Only thing that works is ContinueOnSuccess=false. Obviously no use whatsoever!
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="login-NonInteractive-PasswordChange" ContinueOnError="false" />
<ValidationTechnicalProfile ReferenceId="AAD-UserWritePasswordUsingObjectId" />
</ValidationTechnicalProfiles>
Whether I have the ContinueOnError="false" in there or not, it still executes the second VTP even when the first errors out. The first is erroring out on a AssertBooleanClaimIsEqualToValue ClaimsTransformation
I've found that if the Technical Profile (i.e. LocalAccountSignUpWithLogonEmail) that uses the validation is in both your base and extension files, then this can cause the second to run (if it is specified in the base file).
Ensure all the functionality you need is in the extension file for the technical profile, and remove it completely from the base file.
It seems that the extension file appends, rather than overrides...at least in my experience.
Thanks @stevemilligansds. I'm closing this issue.