Using OAuth applications

How to install pre-packed OAuth applications.

Appmixer comes with 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 Slack component right after fresh Appmixer installation you will get an error Missing client ID.

In case of OAuth 1 application the error will be Missing consumer key. As described in 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 application on your own. At the end of the process you will always get client ID and client Secret (OAuth 2). Appmixer expects these variables to be part of ENV. Here is the list of all ENV variables that you can set for the pre-packed applications if you want to start using them.

ASANA_CLIENT_ID=
ASANA_CLIENT_SECRET=
DROPBOX_CLIENT_ID=
DROPBOX_CLIENT_SECRET=
EVERNOTE_CONSUMER_KEY=
EVERNOTE_CONSUMER_SECRET=
FACEBOOK_APP_ID=
FACEBOOK_APP_SECRET=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
HIGHRISE_CLIENT_ID=
HIGHRISE_CLIENT_SECRET=
HUBSPOT_CLIENT_ID=
HUBSPOT_CLIENT_SECRET=
JIRA_CLIENT_ID=
JIRA_CLIENT_SECRET=
LINKEDIN_CLIENT_ID=
LINKEDIN_CLIENT_SECRET=
MAILCHIMP_CLIENT_ID=
MAILCHIMP_CLIENT_SECRET=
SAGEONE_CLIENT_ID=
SAGEONE_CLIENT_SECRET=
SAGEONE_CLIENT_SIGNING_SECRET=
SAGEONE_USER_AGENT=
SALESFORCE_CLIENT_ID=
SALESFORCE_CLIENT_SECRET=
SHOPIFY_CLIENT_ID=
SHOPIFY_CLIENT_SECRET=
SLACK_CLIENT_ID=
SLACK_CLIENT_SECRET=
TRELLO_APP_KEY=
TRELLO_APP_SECRET=
TWITTER_CONSUMER_KEY=
TWITTER_CONSUMER_SECRET=
TYPEFORM_CLIENT_ID=
TYPEFORM_CLIENT_SECRET=
WORDPRESS_CLIENT_ID=
WORDPRESS_CLIENT_SECRET= 

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 value from GRIDD_URL.

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

Last updated