User Management for OpenEMS UI Backend


I am currently running OpenEMS Edge and Backend successfully with my ESS setup. I am running the OpenEMS UI attached to the backend and it is working successfully.

However, there is no user validation being enforced. You can log in without a username and password. We would like to make the UI available to customers over the internet, however of course the current configuration is highly insecure as there is absolutely no validation applied and a malicious user can easily cause damage to the customer’s equipment.

How can user management be implemented in OpenEMS Backend? Ideally we should be able to create and manage user accounts, require credentials to log in etc.



In OpenEMS, user management function is not provided directly.
instead of user management, OpenEMS is providing “Metadata” function.

This function is interface of authentication/authorization.
Now officially OpenEMS implemented FileMetadata(use static file) and OdooMetadata(OSS ERP user integration via web api) based on this interface.

Of course you can also implement it yourself. // io.openems.backend.metadata.{dummy, file, odoo} directory is implementation of ↑. you just write handler function.

I think official implementation is good material of learning metadata mecanism.