← Back to plugin index

OTP Check via RADIUS Step

Description

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.

Type name
RadiusOtpAuthStep
Class
com.airlock.iam.flow.shared.application.configuration.radiusotp.RadiusOtpAuthStepConfig
May be used by
Properties
Radius Servers (radiusServers)
Description
The RADIUS server(s) to connect to. If more than one is provided, the list is used for failover.
Attributes
Plugin-List
Mandatory
Assignable plugins
Log Radius Attributes (logRadiusAttributes)
Description
If enabled, the RADIUS attributes sent to the server and received from the server are logged at info level.
This is useful during integration and for debugging but it is generally not suitable for productive systems.
Attributes
Boolean
Optional
Default value
false
Access Reject Rules (accessRejectRules)
Description

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.
Attributes
Plugin-List
Optional
Assignable plugins
Access Challenge Rules (accessChallengeRules)
Description

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.
Attributes
Plugin-List
Optional
Assignable plugins
Reported Auth Method (reportedAuthMethod)
Description
Defines how the RADIUS authentication process is reported in the log (used for auditing, information and statistics): It can be desirable to report the actual authentication process type used on the RADIUS server side.
Attributes
String
Optional
Length <= 23
Default value
RADIUS
Allowed values
RADIUS, SECURID, HW_OTP, SW_OTP
NAS Identifier (nasIdentifier)
Description

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.

Attributes
String
Optional
Length >= 3
Username Transformation (usernameTransformers)
Description

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.

Attributes
Plugin-List
Optional
Assignable plugins
Encoding (encoding)
Description
The encoding for the RADIUS attributes in an authentication request. The encoding should be the same as used on the RADIUS server.
Attributes
String
Optional
Default value
UTF-8
Suggested values
UTF-8, ISO-8859-1, ISO-8859-15
Interactive Goto Targets (interactiveGotoTargets)
Description
Manually selectable Goto targets. These are steps to which the user can chose to jump when this is the current flow step.
Attributes
Plugin-List
Optional
Assignable plugins
Dynamic Step Activations (dynamicStepActivations)
Description
Steps that can be dynamically activated while in this step.
Attributes
Plugin-List
Optional
Assignable plugins
Skip Condition (skipCondition)
Description

If this condition is configured and fulfilled, the step is skipped and the flow execution continues with the subsequent step.

Attributes
Plugin-Link
Optional
Assignable plugins
Pre Condition (preCondition)
Description
This step is executed only if the configured pre condition is fulfilled. If the condition is not fulfilled, the step and flow execution fail immediately. The step is not initialized and no step method can be called. If no condition is configured, the behavior is that of a fulfilled pre condition.
Attributes
Plugin-Link
Optional
Assignable plugins
Requires Activation (requiresActivation)
Description
If enabled, this step is only executed if it has been dynamically activated from a previous step. If it has not been activated, the step is skipped (equivalent to when the skip condition is fulfilled).
Attributes
Boolean
Optional
Default value
false
Tags On Success (tagsOnSuccess)
Description
This step grants these tags if it completes successfully.
Attributes
Plugin-List
Optional
Assignable plugins
Step ID (stepId)
Description
ID of this step. This is only needed if this step is the target of a goto action or if this step requires activation.
Attributes
Plugin-Link
Optional
Assignable plugins
On Failure Gotos (onFailureGotos)
Description

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.

Attributes
Plugin-Map
Optional
Assignable plugins
Custom Response Attributes (customResponseAttributes)
Description

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.

Attributes
Plugin-List
Optional
Assignable plugins
YAML Template (with default values)

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: