Mandatory Password Change Step
An authentication flow step that forces the user to change the password if the corresponding "red flag" has been raised by a previous step (e.g. during password check).
Note: If the step is configured such that the old password does not have to be entered (defined by separate password change configuration), do not forget to configure the "Password Attribute Key" in both the password authentication step(s) and in this step.
passwordRepository) passwordPolicy) oldPasswordAttempts) oldPasswordRequired) redFlag) authenticationMethodId) Example: a system tracks two passwords per user. Password 1 is used in flow A, password 2 in flow B. These two steps must have distinct 'Authentication Method Ids', e.g. PASSWORD1 and PASSWORD2.
If only one identifier (e.g. "PASSWORD") is used, this may allow brute force attacks on the password as follows. Assuming an attacker knows the user's password 1, they get an unlimited number of attempts on flow B, as the 'PASSWORD' counter can repeatedly be reset to 0 by performing a successful login on flow A.To prevent such attacks, use two different counters by setting the authentication methods, for example, to PASSWORD1 and PASSWORD2, respectively.
passwordAttributeKey) The optional key under which the new password is made available in the identity propagation or from which it should be retrieved if the old password is not required in the request.
The value can also be retrieved from the session using the "User Passwords Map" value map provider.
If no key is configured, the new password can not be used by identity propagators and the new password must always be provided with the request.
Important: Multiple Mandatory Password Change steps or Password Authentication steps which have the same value for this property might override each others passwords.
Note: This feature will not work when end-to-end encryption is used.
interactiveGotoTargets) dynamicStepActivations) preCondition) tagsOnSuccess) stepId) onFailureGotos) If the step fails (no retry) and a goto target for the error code is defined here, the flow does not fail and instead a "goto" to the specified target step is executed. Note that even when the "goto" is executed, any error codes that are considered a failed factor attempt will still increment the "failed attempts" counter, and may lead to the user being locked. Therefore, this may still result in a failed flow.
A typical application of this feature is switching to an alternative authentication factor step, if an external service (e.g. Futurae server, SMS gateway) is not available (error code EXTERNAL_SERVICE_UNAVAILABLE with "Strict Counting" disabled, which will not increment the "failed attempts" counter). Other error codes can be found in the IAM REST documentation, in both the general "Error Codes" section and in the documentation of specific endpoints.
customResponseAttributes) A list of custom attributes that are returned in the REST response in addition to the standard attributes the step already returns. The custom attributes defined here are only returned if the step result does not lead to an error response.
Custom attributes are added to the response when a step is initialized and when actions are executed on the step. They will therefore be available in the response leading to this step, and in any responses from endpoints specific to this step. For non-interactive steps, custom attributes are accumulated and added to the response leading to the next interactive step.
Custom attributes are not returned for 'retrieve' endpoints.
customFailureResponseAttributes)
type: MandatoryPasswordChangeStep
id: MandatoryPasswordChangeStep-xxxxxx
displayName:
comment:
properties:
authenticationMethodId: PASSWORD
customFailureResponseAttributes:
customResponseAttributes:
dynamicStepActivations:
interactiveGotoTargets:
oldPasswordAttempts:
oldPasswordRequired: true
onFailureGotos:
passwordAttributeKey:
passwordPolicy:
passwordRepository:
preCondition:
redFlag:
stepId:
tagsOnSuccess: