Comments (3)
A caching mechanism could be an option. For example, HiveMQ has a plugin for ACL:
https://www.hivemq.com/blog/mqtt-security-fundamentals-authorization/
It has a caching mechanisms, that updates the permissions every 5 minutes.
However, this does not solve the scenario where we connect, create a resource and push immediately.
@j-forster what do you think?
from wazicloud-api.
I can't think of an easy solution right now. The most effective one would be to give the permission right when the device is added. But we can not implement this with mosquitto right now...
On the Gateway, the requests from Publish
and Post
are merged internally to the same routing engine and can be checked for auth at the same place - so this problem does not exist on Gateway level.
from wazicloud-api.
706447d
I added a timer that fetches the permissions every minute.
So, after any permission change, the user will have to wait maximum 1 minute in order to use MQTT
I think its a reasonable workaround
Or do a MQTT reconnect
from wazicloud-api.
Related Issues (20)
- Support list of sensors and devices in /sensors_data HOT 1
- Use device ID as keycloak ID HOT 1
- PUT visibility has no impact HOT 1
- GET /projects with full=true takes forever
- umlaut names not supported HOT 1
- MQTT subscription: return device_id and sensor_id
- Space leak HOT 1
- Twitter ID @
- Better error message "phone ID or sms credit"
- 403 "Forbidden" when sending SMS HOT 1
- Update Twitter lib HOT 1
- Running without MQTT gives errors
- MQTT connect goes off HOT 3
- Clashing when creating a device and a gateway with the same ID HOT 5
- Slow API responses HOT 4
- Permissions cache HOT 3
- MongoDB performance HOT 2
- Link between devices and gateways HOT 2
- Calibration problem HOT 2
- error 400 instead of 404
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wazicloud-api.