如何在ObjectBox Sync Server中配置用户名/密码认证?
ObjectBox Sync Server 用户名/密码认证配置问题解答
首先明确:UserPassword认证类型确实被服务器支持,但仅指定--auth-required UserPassword是不够的,必须配套配置用户凭证存储参数,否则服务器会自动 fallback 到无认证模式,这就是你看到"UNSECURED no-authentication mode enabled"警告的原因。
解决步骤:
确认服务器版本
确保你使用的ObjectBox Sync Server版本支持用户名密码认证,可通过命令查看版本:objectbox-sync-server --version较新版本(v2.0+)才完整支持该认证方式。
配置用户数据库存储
启动服务器时必须指定用户凭证的存储路径,使用--auth-user-db参数,例如:objectbox-sync-server --auth-required UserPassword --auth-user-db ./user-auth.db这个数据库文件会自动创建,用于存储所有合法的用户名和密码哈希。
添加初始用户
首次启动时需要添加至少一个用户,使用--auth-add-user参数(格式为用户名:密码):objectbox-sync-server --auth-required UserPassword --auth-user-db ./user-auth.db --auth-add-user bob:MySecurePass123后续启动服务器时,无需重复添加用户,仅需保留
--auth-required和--auth-user-db参数即可。配置文件方式(可选)
如果使用sync-server-config.json,需添加以下字段:{ "dbDirectory": "./your-data-db", "sync": { "listen": "ws://0.0.0.0:9999", "authRequired": "UserPassword", "authUserDb": "./user-auth.db" } }启动时指定配置文件:
objectbox-sync-server --config sync-server-config.json添加用户仍需使用命令行参数,目前官方暂未提供可视化用户管理工具。
现象解释:
- 当你仅使用
--auth-required UserPassword时,服务器因缺少用户存储配置,无法验证凭证,因此自动切换到无认证模式并发出警告。 - 拼写错误的参数(如
UserPasswordd)触发报错,说明服务器确实识别UserPassword这个合法的认证类型,只是需要完整的配置项。
内容的提问来源于stack exchange,提问作者Eddie Jakobitz
相关产品推荐
相关产品推荐

