1个稳定版本
1.0.0 | 2022年10月3日 |
---|
#1842 in 密码学
25KB
428 行
Fortress服务器
Fortress服务器是Fortress密码管理器的同步服务器。
API
所有请求都需要授权头。它必须包含16进制编码的32字节登录ID,后跟16进制编码的32字节登录密钥(总共128个字符)。
GET /对象
返回属于用户的数据库中所有对象的列表。响应是一个JSON数组,其中每个元素都是以下形式的数组:[id, siv]
,两者都是16进制编码。
GET /对象/:id
返回对象的数据。ID是16进制编码。
POST /对象/:id/:old_siv
创建或更新对象。请求正文是对象的数据(包括SIV)。:id
和 :old_siv
是16进制编码。如果对象已存在,:old_siv
必须与对象的当前SIV匹配。如果对象不存在,则忽略 :old_siv
。如果对象已存在且 :old_siv
与对象的当前SIV不匹配,则返回冲突(409)。这是为了防止覆盖自上次客户端获取以来已更新的对象。
本地运行
./run-test-db.sh
cargo run
运行测试
./run-test-db.sh
cargo test
构建Docker镜像
docker build -t fortress-server .
docker tag fortress-server DEST
docker push DEST
依赖项
~23–39MB
~632K SLoC