ots API完全参考:开发者必看的接口文档与调用示例
2026/7/26 12:16:28 网站建设 项目流程

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'

安全最佳实践

  1. 客户端加密:始终在发送前加密秘密,推荐使用与web应用相同的加密实现(src/crypto.ts)
  2. 密码管理:密码不应传输给服务器,需通过URL哈希(#后的部分)在客户端处理
  3. URL构建:正确编码URL中的特殊字符(如|需编码为%7C),确保跨浏览器兼容性
  4. 认证处理:如需访问受保护的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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询