Device authentication

1. HTTP

To obtain access token for device, POST following data to authorization server's token URL:

POST /auth/realms/Thingoo/protocol/openid-connect/token HTTP/1.1
Host: <https://dev.thingoo.xyz>
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id=thingoo-device&client_secret=SECRET_HERE

client_secret for thingoo-device client:

Should be up to date, but check keycloak's admin console if it doesn't work.

101ed902-3a95-48b1-b8c6-9a4648151050

2. MQTT

To connect with our MQTT broker you have to specify username and password.

Both are set individually by Thingoo instance owner.

For dev instance (dev.thingoo.xyz) credentials are as follows:

username: thingoo
password: thingoo

You will also need to specify mqtt client id which should be your device key with random alphanumeric string suffix (8 characters)

Webapp authentication

Authorization code + PKCE flow

{
  issuer: ${THINGOO_INSTANCE} + '/auth/realms/Thingoo',
  clientId: 'thingoo-webapp',
  responseType: 'code',
  scope: 'openid profile email TO_BE_UPDATED',
};