Using OAuth applications

How to install pre-packed OAuth applications.

Appmixer comes with a set of prepared components (applications). Some of them use OAuth 1 (Twitter) authentication mechanism and some of them (Slack, Google) use OAuth 2 authentication mechanism.

If you try to use the Slack component right after fresh Appmixer installation you will get an error Missing client ID.

In the case of the OAuth 1 application, the error will be Missing consumer key. As described here the OAuth applications need these secrets. The reason we do not provide these secrets with Appmixer is simple. Part of the OAuth application registered in the third party service is the redirect URL which points to your server URL where the Appmixer backend API is running.

Therefore you need to create these OAuth applications on your own. At the end of the process, you will always get a client ID and client Secret (OAuth 2).

Before installing an OAuth application, please visit the APP registration section. It contains specific settings for each application.

The OAuth variables can be set through the Backoffice.

GRIDD_URL

There is another ENV variable that is used for OAuth redirects. It is called GRIDD_URL.

engine:
...
environment:
- APPMIXER_API_URL=${APPMIXER_API_URL:-http://localhost:2200}
- GRIDD_URL=${APPMIXER_API_URL:-http://localhost:2200}
...

By default, the GRIDD_URL will be set to http://localhost:2200. This is fine for local development. For most of the services, you can register http://localhost:2200 as a callback URL. In production, this has to point to your Appmixer's public API URL.

If you run the following command:

APPMIXER_API_URL=https://247bb870a6f4.ngrok.io docker-compose --project-name appmixer up

It will set both the APPMIXER_API_URL and the GRIDD_URL to the https://247bb870a6f4.ngrok.io.

Another way would be replacing the variables directly in docker-compose.yml file.

engine:
...
environment:
- APPMIXER_API_URL=https://247bb870a6f4.ngrok.io
- GRIDD_URL=https://247bb870a6f4.ngrok.io
...

Or you can set just the GRIDD_URL like this:

engine:
...
environment:
- GRIDD_URL=https://247bb870a6f4.ngrok.io
...

If APPMIXER_API_URL is not set, Appmixer will use the value from GRIDD_URL.

Appmixer engine will print out values of these variables when starting so you can check they are set correctly: