System Configuration

You can set several configuration variables for the Appmixer engine through the Backoffice. We'll specify which variables can be configured in this section.

Using the System section

You can find the System section in the left menu. When you click it, you will see a screen like this:

There is a table with a list of the variables already defined. Each variable has the options for viewing in detail, editing, and removing.

You can also add a new configuration option using the "Add" button on the top right. Then a new row will be created with the key and value inputs for you to fill in.

Possible configuration values

Here is a list of the possible configuration values, a short explanation for each of them, and their default value (the value that Appmixer uses, in case it is not defined anywhere):

KeyDetailDefault valueNeeds restart

API_USER_CREATE_SCOPE

By default, the POST /user API is open to enable the sign-in feature for everyone. This option can restrict the access to this endpoint. It takes a list of scopes (comma-separated). If the value is not null, then a JWT token has to be used to call this API. Typically, the value is set to admin.

null

APP_NAME

This will for example appear in the head title of a sign-in popup for Api Key services.

Appmixer

DEFAULT_USER_VENDOR

Vendor assigned to newly created users.

No value

AUTH_POPUP_DISPLAY_ERR

Whether to display validation errors from the authentication modules.

true

AUTH_POPUP_TIMEOUT_ERR

How many seconds before automatically closing the Connecting Account Failed popup window.

5

BROKER_MESSAGE_ACK_TIMEOUT

Timeout for message processing.

1500000

COMPONENT_FACTORY_TIMEOUT

An attempt to create a component will fail after this timeout.

300000

COMPONENT_RECEIVE_TIMEOUT

A message will be retried if the receive() function does not return within this timeout.

1380000

DISPATCHER_PREFETCH_COUNT

The maximum number of Rabbit messages being dispatched at the same time.

500

INPUT_QUEUE_PREFETCH_COUNT

The maximum number of outgoing Rabbit messages waiting for aknowledgement at the time in the Input Queue. Subsequent incoming messages will not be sent until pending messages are aknowledged.

300

LIMIT_FLOW_UPDATE_BYTES

The max size in bytes of a flow descriptor to be able to be saved.

2097152

LIMIT_CC_ARCHIVE_MAX_BYTES

Maximum size in bytes for custom components.

10485760

LIMIT_WEBHOOK_BYTES

Maximum payload size in bytes for webhook components.

1048576

LIMIT_COMPONENT_STATIC_CALL_MAX_BYTES

Maximum size in bytes of the payload for component static calls.

104857600

PUBLIC_FILES_PREFIX

Public files (needed usually for domain verification) can be served from different paths. Path prefixes have to be separated by :

/:/.well-known

RETRY_INIT_EXP

In case of an error, message for a Component is rescheduled for another attempt. Backoff strategy is used. This retryInitExpiration is the initial value for the backoff, it says after how many milliseconds the first attempt after a failure is going to happen.

60000

RETRY_MAX_COUNT

How many times does the engine try to process the message before rejecting it forever (and moving into the Unprocessed Messages collection).

30

RETRY_MAX_EXP

Maximum interval in milliseconds between retry attempts.

3600000

STRICT_COOKIES

If set to true, the engine will reject any incoming HTTP requests that have cookies that don't comply with the HTTP cookies RFC specification.

true

WEBHOOK_PREFETCH_COUNT

This is for webhooks from Appmixer to registered URLs. This is the amount of webhook messages that will be processing at a time.

50

WEBHOOK_RETRY_COUNT

Number of times that Appmixer will retry sending a webhook. Applies for all webhooks.

20

WEBHOOK_RETRY_INTERVAL

Initial interval in milliseconds for retries. Subsequent retries will take longer (multiplied by an internal factor).

30000

WEBHOOK_RETRY_MAX

Maximum interval in milliseconds between retries.

1800000

WEBHOOK_REQUEST_TIMEOUT

Timeout in milliseconds for webhook component requests.

10000

WEBHOOK_USER_CREATED

URL that will be called when new user is created (sign-up).

No value

WEBHOOK_FLOW_COMPONENT_ERROR

URL that will be called when a running flow encounters an error.

No value

WEBHOOK_FLOW_STOPPED

URL that will be called when a flow is stopped due to an incompatible module upgrade.

No value

Setting some configuration values won't take effect immediately, but the Appmixer engine needs to be restarted.

Forgot Password Service

Appmixer engine has an API to reset forgotten passwords. This works together with the Appmixer Frontend application (not the Appmixer SDK), if you use the frontend application, you can set up the forgot password service.

In order to create a link that can be sent to the user, the Appmixer engine needs to know the frontend URL, there are two variables that can be set for that:

KeyDetailDefault valueRequired

APPMIXER_FE_URL

The Frontned URL

http://localhost:8080

RESET_PASSWORD_FE_URL_SUFFIX

URL path with the reset password form

reset-password

Without any changes, the link will be http://localhost:8080/reset-password?code={{code}}.

That link has to be then delivered to the user. There are two ways this can be done:

Webhook

You can register a system webhook that will be triggered every time a user requests to change their password. The webhook URL can be registered under the key WEBHOOK_USER_FORGOT_PASSWORD and the JSON object sent to that URL will be:

{
  "code": 'unique code generated for identifying forgot password request',
  "email": 'email address of the user',
  "userId": 'User Id',
  "created": 'date when a user requested for forgot password',
  "link": 'Link to access forgot password page on the frontend'
}

You can use Appmixer to create a simple flow, that would send emails with the reset password link.

SMTP

The other way is to configure the SMTP server, Appmixer will then send an email with the reset password link to the user's email address.

KeyDetailDefault valueRequired

MAIL_SMTP_HOST

SMTP server address

MAIL_SMTP_PORT

SMTP server port

465

MAIL_SMTP_USER

username

MAIL_SMTP_PASS

password

MAIL_FROM_NAME

Sender name

Appmixer

MAIL_FROM_EMAIL

Sender email

info@appmixer.com

FORGOT_PASSWORD_MAIL_SUBJECT

Reset password email subject.

Reset your password

FORGOT_PASSWORD_MAIL_BODY

The reset password email body.

See below

The default email body:

<p>Hi,</p>
<p>You have requested to reset your password. Please click on the link below to reset your password.</p>
<p><a href="{{link}}">Reset Password</a></p>
<p>If you are unable to click on the link, please copy and paste the following link into your browser:</p>
<p>{{link}}</p>

If the forgot password webhook is configured as explained above, the Appmixer engine will not send the email to the user and it will trigger the webhook instead.

Last updated