认证鉴权
本文介绍了基于BearerToken鉴权,调用推理服务V2版本API流程。
API 调用流程简介
基于BearerToken进行鉴权,调用API流程如下所示。
(1)API授权。平台已默认开通API调用权限,无需申请。
(2)获取API Key或BearerToken值。推荐使用通过控制台创建并获取API Key值。
(3)调用推理服务V2版本 API接口。
API调用流程
步骤一. API授权
平台已默认开通API调用权限,无需申请。
步骤二. 获取API Key或BearerToken值
平台支持通过以下方式获取API值或BearerToken值,可以根据实际情况选择任一种方式。
值 | 获取方式 | 文档地址 | 是否推荐 | 说明 |
---|---|---|---|---|
API Key | 通过控制台页面获取 | 本文后续内容 | 强烈推荐 | 通过产品界面创建获取,推荐使用 |
BearerToken | 通过HTTP调用接口获取 | 参考创建BearerToken | 不推荐 | 调用流程较复杂,按需使用 |
获取API值
(1)登录控制台-安全认证-API Key。
(2)点击创建API Key。
如果已有API Key,可跳过此步骤。如需创建,点击创建按钮,选择千帆ModelBuilder。
(3)配置资源。
如果已有API Key,可跳过此步骤。
配置API Key对应的V2版本应用对应的appid,即对应appid可以使用API Key调用推理服务V2版本接口。
- 所有资源,表示appid对应的V2版本应用,都可以使用该API Key。
- 特定资源,表示特定V2应用对应的appid,可以使用该API Key。
(4) 点击确定。
如果已有API Key,可跳过此步骤。
(5)在API Key列表查看API Key值。
获取BearerToken值
本章节主要介绍通过HTTP方式调用说明。
在调用创建BearerToken接口前,需先获取认证字符串,调用接口时将认证字符串添加到请求头Header的Authorization。
(1)获取安全认证AK/SK
a.登录管理控制台,点击“用户账号->安全认证”进入Access Key管理界面。
b.点击显示查看Access Key、Secret Key。关于AK/SK,更多介绍请参考获取AK/SK。
(2)获取认证字符串
根据(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,如 https://iam.bj.baidubce.com/v1/BCE-BEARER/token?expireInSeconds=86400 · 如果不填写此参数,在调用创建BearerToken接口时也无需传expireInSeconds参数,即请求地址url为 https://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
(3)调用创建BearerToken接口获取Bearer token。
将签名计算获取的认证字符串,即(2)获取的认证字符串,添加到请求头Header的Authorization,并调用创建BearerToken接口获取Bearer token值。调用示例如下。
注意:调用API时,是否通过expireInSeconds设置有效期,请求url会不同,步骤二签名计算参数也不同,实际调用时需保持一致。
# 注意:本文步骤(2)计算签名时,示例未设置有效期,请求url无需加参数expireInSeconds,即请参考本示例调用。
# 如果不需设置有效期expireInSeconds,即请求url不需加参数expireInSeconds;在步骤(2)计算签名时,也无需设置参数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;在步骤(2)计算签名时,也需设置参数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 中,将步骤二获取的API Key
值 或 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": "你好"
}
]
}'