Enhanced Whitelists

The original whitelist implementation did not allow for the finer-grained permissions needed for Subscriptions.

The new whitelist is an array containing a hash containing an object with the device's uuid. There are currently no other required properties.

Version 2.0 Whitelists:

  • broadcast.as: send broadcasts on behalf of a device
  • broadcast.received: subscribe to broadcast messages received from other devices
  • broadcast.sent: subscribe to broadcast messages sent from the current device
  • discover.as: view devices the current device has permission to see
  • discover.view: view the current device
  • configure.as: update devices the current device has permission to update
  • configure.received: subscribe to config messages received from other devices
  • configure.sent: subscribe to configure messages sent from the current device
  • configure.update: update the current device
  • message.as: send messages on behalf of a device
  • message.from: devices allowed to message the current device
  • message:received: subscribe to messages received from other devices
  • message.sent: subscribe to messages sent by the current device

In order to use the new permissions your device must be updated to meshblu.version = 2.0.0. Once your device has been updated to 2.0.0 the legacy whitelists will no longer be evaluated.

All whitelists are nested under the meshblu key in the device hash.

{
  "uuid": "4e625bc8-502f-43f9-aa3b-b5e2eabea357",
  "meshblu": {
    "version": "2.0.0",
    "whitelists": {
	    "broadcast": {
  	    "sent": [
          {
    	      "uuid": "117ec079-33ea-4471-bd8e-0602d3be5bed"
      	  }
        ]
      }
    }
  }
}