1. Added whitelist functionality for subid, group, and related fields to
allow finer-grained access control and improved authentication
flexibility.
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
Added support for a customizable OIDC login flow. Verified successful authentication using Google as the OIDC provider.
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
- Introduced LDAP authentication configuration options in the README and Docker Compose files.
- Updated API to handle dual authentication methods (LDAP and legacy).
- Implemented LDAP authentication logic in a new ldap.go file.
- Enhanced user login flow to support username and password for LDAP.
- Added error handling for authorization and authentication failures.
- Updated UI to include username input when LDAP is enabled and provide authentication options.
- Added localization for new authentication messages in English and Chinese.
1. Added support for docker-compose.yml to simplify deployment and
service management.
2. Tested environment variable configurations to validate compatibility
and ensure correct behavior.
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
Fixed an issue where some frontend CSS and JS files could not be loaded.
The root cause was that go:embed by default ignores files starting with '.' or '_', which led to certain assets being excluded.
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
- Move empty password check from httpLogin to httpAuth
- httpLogin now only validates actual password comparison
- httpAuth handles empty password as authentication bypass
- This ensures consistent authentication behavior across all endpoints
Previously, empty password would always return true in httpLogin,
now it's properly handled at the authentication middleware level.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
- Forward all original HTTP headers plus custom rttys headers:
- X-Rttys-Hook: true
- X-Original-Method: original request method
- X-Original-URL: original request URL
- Hook must return HTTP 200 to allow API access.
This enables external services to validate and control user API access
by receiving the complete original request context through HTTP hooks.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
To solve a major problem: when there are many devices connected,
the broker will blocked in processing messages.
By the way, I've rewritten and reorganized the entire code architecture,
improved performance.
Some new features has been added:
* support device grouping.
* support show device's IP address.
Change-Id: I250e18091be7fd42028c82767b6edef50b3f6d8f
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
* feat: Separate SSL configurations for device and web UI
* config: Add configuration template
for web UI SSL
* fix: parse bool
* fix: fix compatibility with old configuration files
* config: update template
Before, the download was started after all file data were sent from the device to the browser.
Now, the download starts when the file data begins to transfer.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>