API令牌¶
概述¶
CA REST API 受到与标准 CA Web 界面相同的限制的保护。这些限制意味着如果您不登录,您将匿名访问 CA。如果您登录后无权查看 CA 中的某些内容,您也将无法使用 CA REST API 查看它。在大多数情况下,CA平台会对您的用户帐户进行身份验证。此页面提供了基本身份验证的简单示例。
获取API令牌¶
基本身份验证需要 API 令牌。
您为您的 CloudAlert 帐户生成一个 API 令牌,并使用它在您使用密码的任何地方进行身份验证。
请参阅 Rest API 令牌获取,了解如何生成 API 令牌。
获取access_token¶
您可以构造和发送基本的身份验证标头。您可以参考执行以下步骤:
- 使用您的 CloudAlert账户为 CA 生成 API 令牌。
示例¶
请求cURl:
curl --location --request GET 'https://caweb.aiops.com/api/alert/rest/api/v1/test' \ --user 'email@example.com:<access_token>' \ --header 'Accept: application/json'
示例邮箱应替换为用户注册所用邮箱
access_token应替换为您手动获取的access_token
接口调用成功返回值
{"result":"success","message":"test ok","data":"majunjun@aiops.com","totalCount":0,"code":200}
200:成功
400:失败,传入的参数有问题
401:认证失败,用户名密码错误
加密步骤¶
如您对您的API 令牌有加密的需求,您可以按照以下编码方式进行加密,在需要填写 access_token 的地方填写加密后的token
- 构建格式为 useremail:api_token 的字符串。
- 使用Base64对字符串编码。
Linux/Unix/MacOS:
echo -n user@example.com:api_token_string | base64
Windows 7 或更高版本, 使用 Microsoft Powershell:
$Text = ‘user@example.com:api_token_string’ $Bytes = [System.Text.Encoding]::UTF8.GetBytes($Text) $EncodedText = [Convert]::ToBase64String($Bytes) $EncodedTex
- 使用加密后的token进行接口调用
提供一个 Authorization 标头,其内容为 Basic,后跟编码字符串。例如:
字符串 email@example.com:access_token 编码为 base64 中的 Z2FveWluaW5nOTk5NUAxNjMuY29tOmt1WWl6bmljZ3oxN0JBVjk=
示例邮箱应替换为用户注册所用邮箱
access_token应替换为您手动获取的access_token
因此您可以按如下方式发出请求:
curl --location --request GET 'https://caweb.aiops.com/api/alert/rest/api/v1/test' \ --header 'Authorization: Basic Z2FveWluaW5nOTk5NUAxNjMuY29tOmt1WWl6bmljZ3oxN0JBVjk=' \ --header 'Content-Type: application/json'