{"__v":18,"_id":"56f45e19ab3f610e000a63e2","category":{"__v":2,"_id":"556741d17acd550d0075eaca","pages":["556741e97acd550d0075eace","5567445f77c15523002fd57f"],"project":"5564f26a1fd04c0d00dc9aaa","version":"5564f26a1fd04c0d00dc9aad","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-05-28T16:26:57.533Z","from_sync":false,"order":1,"slug":"security","title":"Security"},"parentDoc":null,"project":"5564f26a1fd04c0d00dc9aaa","user":"5564f227f0f70f0d00a9ab20","version":{"__v":15,"_id":"5564f26a1fd04c0d00dc9aad","project":"5564f26a1fd04c0d00dc9aaa","createdAt":"2015-05-26T22:23:38.671Z","releaseDate":"2015-05-26T22:23:38.671Z","categories":["5564f26b1fd04c0d00dc9aae","556741d17acd550d0075eaca","556741d87acd550d0075eacb","556742f87acd550d0075ead1","556781cd6976ef0d0099c545","5568d666d33aad0d00ec8d2e","557f6b2d38249b0d00d0d12b","55b67be9c2e909190073ed38","564e56c601e80e0d00396684","56731b714b2a680d00524daf","573612ac652bd80e00a90027","57365e2cf8ebd31700769f50","57366131f8ebd31700769f58","573b93514e029d19000b8669","573bbfdb7ac6f6170033bd35"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-03-24T21:37:29.238Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"The original whitelist implementation did not allow for the finer-grained permissions needed for [Subscriptions](doc:subscriptions). \n\nThe new whitelist is an array containing a hash containing an object with the device's uuid. There are currently no other required properties.\n\n## Version 2.0 Whitelists:\n * `broadcast.as`: send broadcasts on behalf of a device\n * `broadcast.received`: subscribe to broadcast messages received from other devices\n * `broadcast.sent`: subscribe to broadcast messages sent from the current device\n * `discover.as`: view devices the current device has permission to see\n * `discover.view`: view the current device\n * `configure.as`: update devices the current device has permission to update\n * `configure.received`: subscribe to `config` messages received from other devices\n * `configure.sent`: subscribe to configure messages sent from the current device\n * `configure.update`: update the current device\n * `message.as`: send messages on behalf of a device\n * `message.from`: devices allowed to message the current device\n * `message:received`: subscribe to messages received from other devices \n * `message.sent`: subscribe to messages sent by the current device\n\nIn 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.\n\n**All whitelists are nested under the `meshblu` key in the device hash.**\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"uuid\\\": \\\"4e625bc8-502f-43f9-aa3b-b5e2eabea357\\\",\\n  \\\"meshblu\\\": {\\n    \\\"version\\\": \\\"2.0.0\\\",\\n    \\\"whitelists\\\": {\\n\\t    \\\"broadcast\\\": {\\n  \\t    \\\"sent\\\": [\\n          {\\n    \\t      \\\"uuid\\\": \\\"117ec079-33ea-4471-bd8e-0602d3be5bed\\\"\\n      \\t  }\\n        ]\\n      }\\n    }\\n  }\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Example Meshblu 2.0 Device\"\n    }\n  ]\n}\n[/block]","excerpt":"Enhanced Whitelists","slug":"whitelists-2-0","type":"basic","title":"Whitelists 2.0"}

Whitelists 2.0

Enhanced Whitelists

The original whitelist implementation did not allow for the finer-grained permissions needed for [Subscriptions](doc: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.** [block:code] { "codes": [ { "code": "{\n \"uuid\": \"4e625bc8-502f-43f9-aa3b-b5e2eabea357\",\n \"meshblu\": {\n \"version\": \"2.0.0\",\n \"whitelists\": {\n\t \"broadcast\": {\n \t \"sent\": [\n {\n \t \"uuid\": \"117ec079-33ea-4471-bd8e-0602d3be5bed\"\n \t }\n ]\n }\n }\n }\n}", "language": "json", "name": "Example Meshblu 2.0 Device" } ] } [/block]