System Configuration
Last updated
Last updated
You can set several configuration variables for the Appmixer engine through the Backoffice. We'll specify which variables can be configured in this 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.
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):
Key | Detail | Default value | Needs 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 | 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 | ||
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 |
Setting some configuration values won't take effect immediately, but the Appmixer engine needs to be restarted.
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:
Key | Detail | Default value | Required |
---|---|---|---|
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:
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:
You can use Appmixer to create a simple flow, that would send emails with the reset password link.
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.
Key | Detail | Default value | Required |
---|---|---|---|
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:
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.