ots API完全参考:开发者必看的接口文档与调用示例
【免费下载链接】otsOne-Time-Secret sharing platform with a symmetric 256bit AES encryption in the browser项目地址: https://gitcode.com/gh_mirrors/ots/ots
ots(One-Time-Secret)是一个基于浏览器端256位AES对称加密的一次性秘密分享平台,开发者可通过其API实现安全的秘密存储与读取功能。本文将详细介绍ots API的核心接口、参数说明及调用示例,帮助开发者快速集成这一安全工具。
核心API概览
ots API采用RESTful设计风格,主要提供两个核心接口:创建秘密(/create)和获取秘密(/get/{id})。所有交互均通过JSON格式数据进行,确保跨平台兼容性。完整API定义可参考项目中的docs/openapi.yaml文件。
创建秘密接口(POST /api/create)
该接口用于在ots服务器上存储加密后的秘密,支持自定义过期时间参数。请求成功后返回秘密ID,用于后续访问。
请求参数:
expire(可选):秘密过期时间(秒),超过服务器配置的最大过期时间将被忽略- 请求体:JSON对象,包含
secret字段(必填),存储加密后的秘密内容
响应示例:
{ "secret_id": "5e0065ee-5734-4548-9fd3-bb0bcd4c899d", "success": true }获取秘密接口(GET /api/get/{id})
通过秘密ID读取存储的加密内容,秘密在首次读取后将被立即删除,确保一次性访问特性。
路径参数:
id:创建秘密时返回的秘密ID
响应示例:
{ "secret": "U2FsdGVkX18wJtHr6YpTe8QrvMUUdaLZ+JMBNi1OvOQ=", "success": true }实用调用示例
使用curl创建加密秘密
推荐在客户端加密秘密后再发送,确保服务器无法获取原始内容。以下示例使用OpenSSL加密秘密,然后通过curl调用API:
# 加密秘密内容(AES-256-CBC算法) echo "my password" | openssl aes-256-cbc -base64 -pass pass:mypass -pbkdf2 -iter 300000 -md sha512 # 调用API创建秘密 curl -X POST -H 'content-type: application/json' -d '{"secret": "U2FsdGVkX18wJtHr6YpTe8QrvMUUdaLZ+JMBNi1OvOQ="}' https://ots.fyi/api/create使用ots-cli快速操作
项目提供了专用命令行工具ots-cli,简化API调用流程。工具位于cmd/ots-cli/目录,支持创建和获取秘密:
# 创建秘密(从标准输入读取内容) echo "my password" | ots-cli create --instance https://ots.fyi # 获取秘密(从URL解析ID和密码) ots-cli fetch 'https://ots.fyi/#37a75a7f-0c2d-4ae6-bcca-4208b6d596ab%7CHGShVWm5umv4lmswfM73'安全最佳实践
- 客户端加密:始终在发送前加密秘密,推荐使用与web应用相同的加密实现(src/crypto.ts)
- 密码管理:密码不应传输给服务器,需通过URL哈希(
#后的部分)在客户端处理 - URL构建:正确编码URL中的特殊字符(如
|需编码为%7C),确保跨浏览器兼容性 - 认证处理:如需访问受保护的ots实例,可通过
-u参数传递基础认证信息或-H参数设置自定义头
错误处理与状态码
| 状态码 | 说明 | 处理建议 |
|---|---|---|
| 200/201 | 请求成功 | 解析JSON响应获取秘密ID或内容 |
| 400 | 请求无效 | 检查请求体格式和必填字段 |
| 404 | 秘密不存在 | 确认ID正确或秘密已被读取 |
| 500 | 服务器错误 | 稍后重试,无需修改请求 |
错误响应格式统一为:
{ "error": "错误描述信息", "success": false }扩展功能与自定义
ots API支持通过HTTP头和查询参数扩展功能:
- 自定义过期:添加
expire查询参数设置秘密生命周期 - 元数据支持:秘密内容可包含JSON格式元数据,实现文件附件等高级功能(详见docs/OTSMeta-format.md)
- 存储后端:服务器支持内存(mem)和Redis存储,可通过环境变量配置(main.go)
要开始使用ots API,可先克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/ots/ots通过本文介绍的接口和示例,开发者可以轻松将ots的安全秘密分享功能集成到自己的应用中,保护敏感信息的传输与存储安全。
【免费下载链接】otsOne-Time-Secret sharing platform with a symmetric 256bit AES encryption in the browser项目地址: https://gitcode.com/gh_mirrors/ots/ots
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考