OTP Check via RADIUS Step
Flow step to check an OTP by calling a RADIUS server (e.g. SecurID).
Note that the first request sent to the RADIUS server already contains the token code. It is therefore limited to RADIUS servers accepting the OTP with the first request. OTP authentication schemes that first send the OTP to the user (SMS, Email) are not supported.
The plugin usually works with the default configuration for basic use-cases. To interpret vendor-specific features like "new PIN required", corresponding rules have to be configured.
radiusServers) logRadiusAttributes) This is useful during integration and for debugging but it is generally not suitable for productive systems.
accessRejectRules) Defines a list of rules (processed in order of definition) that define how to map RADIUS access reject response's reply messages to authentication results.
If no rules are defined or no rule matches, an unspecified authentication failure is used for access reject responses.accessChallengeRules) Defines a list of rules (processed in order of definition) that define how to map RADIUS access challenge response's reply messages to authentication results.
If no rules are defined or no rule matches, an unspecified authentication failure is used for access challenge responses.reportedAuthMethod) nasIdentifier) The Network access server identifier (NAS Identifier) to set in all requests.
The NAS Identifier is used to notify the source of a RADIUS access request, enabling the RADIUS server to choose a policy for that request. If set, the RADIUS server does not have to rely on a set of, potentially changing, IP addresses (for example when deploying multiple Airlock IAM servers). Also, different flows may require different policies.
usernameTransformers) Transforms the user ID to the username that is sent to the RADIUS server.
Note that not all Username Transformer plugins are useful for this purpose since here they are not used to find the user ID, but rather a user alias.
encoding) interactiveGotoTargets) dynamicStepActivations) skipCondition) If this condition is configured and fulfilled, the step is skipped and the flow execution continues with the subsequent step.
preCondition) requiresActivation) 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: RadiusOtpAuthStep
id: RadiusOtpAuthStep-xxxxxx
displayName:
comment:
properties:
accessChallengeRules:
accessRejectRules:
customFailureResponseAttributes:
customResponseAttributes:
dynamicStepActivations:
encoding: UTF-8
interactiveGotoTargets:
logRadiusAttributes: false
nasIdentifier:
onFailureGotos:
preCondition:
radiusServers:
reportedAuthMethod: RADIUS
requiresActivation: false
skipCondition:
stepId:
tagsOnSuccess:
usernameTransformers: