使用 Token 集成 GitOps 工作流
Token(令牌)是一种包含用户身份验证信息和授权数据的数字凭证,用于客户端和服务器之间的安全通信。它允许用户访问受保护的资源或执行特定操作,而无需直接提供敏感信息(如用户名和密码)。作为现代 Web 应用程序和 API 安全中广泛使用的重要机制,Token 可以帮助实现安全、可扩展以及无状态(stateless)的身份验证和授权。
背景
企业在应用程序交付过程中通常会采用各种平台,例如安全漏洞分析和资源管理平台,以满足多样化的特定需求和场景。然而,在大型复杂的企业系统中,系统之间的集成以及如何实现自动化的 GitOps 工作流成为了亟待解决的重要问题。
在这种情况下,企业可以选择不使用 API7 企业版控制台来进行集成。利用 API7 企业版提供的系统 Token 进行身份验证和授权,同样可以实现 API7 企业版与其自身系统的无缝集成。
前提条件
实施步骤

1. 注册账户
注册一个专门用于管理 Token 的账户。由于 Token 权限与账户角色同步,这可以避免人员变动对账户权限造成影响。
2. 查看 API 文档
-
查看 API7 企业版的 API 文档,了解可用的 API 接口、请求参数和响应格式。
-
根据需要调用的 API,确定必要的角色和权限,并将角色权限授予当前的系统账户。
-
确认要调用的 API 接口所对应的请求参数,避免因权限不足导致越权调用 API。
3. 获取 Token
在 API7 企业版中生成一个 Token,并选择一个合适的过期时间,例如 7 天(7 days) / 30 天(30 days) / 60 天(60 days)。

注意:该 Token 仅显示一次,因此生成后需要将其复制并安全存储。
4. 发送 API 调用请求
-
研发系统中的开发者应编写代码来实现 API7 企业版的 API 调用。
-
代码中需包括构建请求 URL、设置请求头(包括 Token)、发送请求和处理响应等逻辑。
以下代码示例演示了将 Token 添加到请求头以进行身份验证和授权的两种方法。
-
第一种方法是获取所有的 API 数据,并将 Token 添加到请求头中进行身份验证和授权。
curl -k \
-X GET "http://api.example.com/api7ee/admin/services" \
-H "X-API-KEY: $API_KEY" -
第二种方法是在 Cookie 头中添加 Token。
curl -k \
-X GET "http://api.example.com/api7ee/admin/services" \
-H "Cookie: X-API-KEY=$API_KEY"
5. 测试 API 调用
-
开发者在本地环境中测试 API 调用代码,确保 API7 企业版 API 能够被正确调用并获得预期的响应。
-
在测试过程中,开发者使用先前获取的 Token 进行身份验证和授权。
6. 部署与集成
-
测试成功后,开发者将 API 调用代码部署到研发系统中,建议使用与测试环境不同的 Token 以增强安全性。
-
研发系统与 API7 企业版的 API 成功集成,实现数据交换和功能互通。