← Back to plugin index

Remote Event Subscriber (Loginapp)

Description
An event subscriber that executes an HTTP request to forward the event data to a remote endpoint.
Type name
LoginappRemoteEventSubscriber
Class
com.airlock.iam.login.application.configuration.event.LoginappRemoteEventSubscriberConfig
May be used by
Properties
Remote URL (url)
Description
URL to which the request will be sent. The URL can contain variables (using the ${variableName} notation) that will be replaced by the values provided by the event and the configured value providers. See the "Body Template" property for a list of all available variables. All values are URL-encoded before being inserted into the URL. To ensure a successful connection the URL should include a scheme - usually either 'http' or 'https'.
Attributes
String
Mandatory
Example
https://my.remote.host/api/${event.data.userId}/notify
Body Template (bodyTemplate)
Description
Template for the request body. The following syntax can be used to include data in the template.
  • ${valueMapKey} for the value of valueMapKey provided by any of the configured Value Map Providers.
  • ${event.createdAt,date,format} to include the date/time at which the event was created, where "format" is a date pattern like "yyyy-MM-dd HH:mm:ss".
Depending on the event and on the conditions in which the event originated, the following variables may also be available:
  • event.createdAt
  • event.data.airlock2FAAccountId
  • event.data.airlock2FADeviceId
  • event.data.activeAuthenticationMethod
  • event.data.authenticationMethods
  • event.data.browser
  • event.data.city
  • event.data.contextDataChanged.%s.newValue (where "%s" is replaced by the context-data field name).
  • event.data.contextDataChanged.%s.oldValue (where "%s" is replaced by the context-data field name).
  • event.data.countryCode
  • event.data.crontoDeviceId
  • event.data.device
  • event.data.deviceTokenId
  • event.data.fidoCredentialId
  • event.data.fidoPublicKeyCredentialId
  • event.data.oauth2.authorizationServerId
  • event.data.fidoRelyingPartyId
  • event.data.lockReason
  • event.data.mtanNewPhoneNumber
  • event.data.mtanNumberId
  • event.data.mtanOldPhoneNumber
  • event.data.newEmailAddress
  • event.data.newRealm
  • event.data.oauth2.acceptedScopes
  • event.data.oauth2.alwaysGrantedScopes
  • event.data.oauth2.clientId
  • event.data.oauth2.deniedScopes
  • event.data.oldEmailAddress
  • event.data.oldRealm
  • event.data.operatingSystem
  • event.data.previousAuthenticationMethod
  • event.data.stepResult.attributes.<attribute-name> (where <attribute-name> ist the name of the additional attribute, could be nested.)
  • event.data.stepResult.errorCode
  • event.data.stepResult.nextAction
  • event.data.stepResult.type
  • event.data.userId
  • event.id
  • event.metadata.requestIp
  • event.metadata.userAgent
  • event.source.applicationId
  • event.source.configurationContext
  • event.source.flowId
  • event.source.stepId
Variables that are not defined are replaced by an empty string. The Airlock IAM documentation provides further information about the availability of specific variables. All values are encoded/escaped before being inserted into the request body.
Attributes
String
Optional
Multi-line-text
Example
{"type": "user-locked", "userId": "${event.data.userId}"}
Value Encoding/Escaping (valueEncoding)
Description

The encoding/escaping to be applied to string all values before they are inserted into the request body template.

Security warning: using no encoding allows unvalidated user input to be sent in the request body.

The JSON encoder also transforms string lists into (escaped) JSON arrays.

Attributes
Enum
Optional
Default value
JSON
HTTP Client (httpClient)
Description
The HTTP client that executes the request.
Attributes
Plugin-Link
Mandatory
Assignable plugins
HTTP Method (httpMethod)
Description
HTTP Method to be used.
Attributes
Enum
Optional
Default value
POST
Content Type (contentType)
Description
Value of the content-type header to be used in the request.
Attributes
String
Optional
Default value
application/json
Suggested values
application/json, application/x-www-form-urlencoded, application/xml, text/plain
YAML Template (with default values)

type: LoginappRemoteEventSubscriber
id: LoginappRemoteEventSubscriber-xxxxxx
displayName: 
comment: 
properties:
  bodyTemplate:
  contentType: application/json
  event:
  httpClient:
  httpMethod: POST
  url:
  valueEncoding: JSON
  valueMapProviders: