使用BearerToken鉴权调用API流程
本文介绍了基于BearerToken鉴权,调用推理服务V2版本API流程。
API 调用流程简介
基于BearerToken进行鉴权,调用API流程如下图所示。
- API授权。平台已默认开通API调用权限,无需申请。
- 获取安全认证的AK/SK。获取安全认证Access Key(即AK)、Secret Key(即SK)。
- 获取BearerToken值。
- 调用推理服务V2版本 API接口。
API调用流程
步骤一. API授权
平台已默认开通API调用权限,无需申请。
步骤二. 获取安全认证AK/SK
(1)登录管理控制台,点击“用户账号->安全认证”进入Access Key管理界面。
(2)点击显示查看Access Key、Secret Key。关于AK/SK,更多介绍请参考获取AK/SK。
步骤三. 获取BearerToken值
可以通过调用创建BearerToken接口获取值。在调用接口前,需先获取认证字符串,调用接口时将认证字符串添加到请求头Header的Authorization。
(1)获取认证字符串
根据步骤二获取的安全认证Access Key/Secret Key,进行计算签名,签名机制请参考签名计算机制。
本文使用签名计算工具,说明如何获取认证字符串Authorization。
a. 点击签名计算工具,进入签名计算工具页面。
b. 填入签名需要的信息。
在签名计算工具中,填入对应内容,示例如下:
- HTTP请求信息
签名内容 | 计算签名时是否必需 | 说明 |
---|---|---|
HTTP方法 | 必填 | · 针对此API,为固定值:GET · 通过以下方法获取,在创建BearerToken接口文档页面查看,如下图所示: |
路径 | 必填 | · 针对此API,为固定值:/v1/BCE-BEARER/token · 通过以下方法获取,在创建BearerToken接口页面查看,如下图所示: |
参数 | 非必填 | (1)值说明: · 如果需设置,示例如 expireInSeconds=86400 ,通过以下方法获取,在创建BearerToken接口页面查看,如下图所示:· 如果无需设置此参数,忽略此参数。由于调用创建BearerToken接口文档,请求参数expireInSeconds非必填,所以可以不设置该参数,本文示例未设置参数 (2)注意:是否填写该参数,影响在调用创建BearerToken接口是否使用请求参数expireInSeconds,如果不一致调用接口会报错,可参考后续步骤调用创建BearerToken接口调用示例。 · 如果填写此参数,在后续步骤调用创建BearerToken接口时,请求地址url也需传参数expireInSeconds,如 http://iam.bj.baidubce.com/v1/BCE-BEARER/token?expireInSeconds=86400 · 如果不填写此参数,在调用创建BearerToken接口时也无需传expireInSeconds参数,即请求地址url为 http://iam.bj.baidubce.com/v1/BCE-BEARER/token |
头域 | 必填 | · 针对此API,为固定值:iam.bj.baidubce.com · 通过以下方法获取,在创建BearerToken接口文档页面查看,如下图所示: |
- 签名信息
签名内容 | 计算签名时是否必需 | 说明 |
---|---|---|
Access Key | 必填 | · 示例值:ALTAK-**uXH ·注意:请使用实际值,即步骤二获取的Access Key值 |
Secret Key | 必填 | · 示例值:c05e**9f8 ·注意:请使用实际值,即步骤二获取的Secret Key值 |
时间戳 | 必填 | · 示例值:2024-11-07T02:58:20Z,使用页面的默认值即可 |
签名有效期(秒) | 必填 | · 示例值:1800 |
待签名头域(秒) | 非必填 | 注意:本文签名计算未使用x-bce-date,在签名工具中-签名信息,待签名头域里需去掉。 |
c. 点击一键计算。
d. 查看认证字符串结果
基于上述信息,计算出的认证字符串结果示例值为:
bce-auth-v1/ALTAK-******uXH/2024-11-07T02:58:20Z/1800/host/e24f2f7837a5e2cd1d4f4bfade81dc24c1bfe278855b05193e859304f694b702
(2)调用创建BearerToken接口获取Bearer token。
将签名计算获取的认证字符串,即(1)获取的认证字符串,添加到请求头Header的Authorization,并调用创建BearerToken接口获取Bearer token值。调用示例如下。
注意:调用API时,是否通过expireInSeconds设置有效期,请求url会不同,步骤二签名计算参数也不同,实际调用时需保持一致。
# 注意:本文步骤(1)计算签名时,示例未设置有效期,请求url无需加参数expireInSeconds,即请参考本示例调用。
# 如果不需设置有效期expireInSeconds,即请求url不需加参数expireInSeconds;在步骤(1)计算签名时,也无需设置参数expireInSeconds
# 将下列示例中的Authorization替换成真实值
curl --location 'https://iam.bj.baidubce.com/v1/BCE-BEARER/token' \
--header 'Authorization: bce-auth-v1/ALTAK-******uXH/2024-11-07T02:58:20Z/1800/host/e24f2f7837a5e2cd1d4f4bfade81dc24c1bfe278855b05193e859304f694b702' \
--header 'Content-Type: application/json'
# 如果需设置有效期expireInSeconds,即请求url加expireInSeconds;在步骤(1)计算签名时,也需设置参数expireInSeconds
# 将下列示例中的Authorization替换成真实值
curl --location 'https://iam.bj.baidubce.com/v1/BCE-BEARER/token?expireInSeconds=86400' \
--header 'Authorization: bce-auth-v1/ALTAK-******uXH/2024-11-07T02:58:20Z/1800/host/e3b967993b1c75b3745696733a553fa710f3216ac5f8f6ad0796cf141159c5eb' \
--header 'Content-Type: application/json'
步骤四. 调用API
调用推理服务V2版本API,请查看API列表。示例如下:
在 HTTP 请求 Header 中,将步骤三获取的Bearer Token值,添加到Authorization。
curl -X POST 'https://qianfan.baidubce.com/v2/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer bce-v3/ALTAK-*****************/2d7*****************' \
-d '{
"model": "ernie-3.5-8k",
"messages": [
{
"role": "user",
"content": "你好"
}
]
}'