Implementing Authorization for users

I have added user login in my node red app. Now I want to create a solution where individual user can have their own separate environment/session where then can create/edit their own flows. So User A can have access to all the flows the he/she created, they won't be able to access the flows created by User B.

I want to display flows for individual users on front end (next.js) using iframe or any thing similar to that, where they can have a separate environment in the specific section of the website.

Can anyone provide a fesiable solution, as having seperate servers for each user is not fesiable because the users are not fixed in the site, we can have multiple new users after 2-3 months.

Tech Stack for the site,

Backend: Nest.js
Database: MongoDB
FrontEnd: Next.js

I have removed all the tags that you added that are not relevant.

Node RED by its self does not support separate user environments.

For your type of setup, I recommend FlowFuse.

Which is built on Node RED, and uses a teams approach to environments.


If you need to run your own service, there are a couple of ways to do it.

Firstly, you will almost certainly want a reverse proxy such as NGINX to hide the port numbers and use URL paths or sub-domains instead.

Then, you will need to create multiple Node-RED instances, 1 per user. Node-RED allows for this but each instance requires its own IP port. Hence the probably need to hide those using a proxy.

Multiple instances can be run on bare metal utilising multiple startup scripts with separate userDir folders or you could use Docker/Kubernetes.

Also, if you need to accommodate a variable set of users, you will also need to create some automation to deal with that.