Skip to content

Commit

Permalink
feat: js 支持传入 BearerToken 调用 (#898)
Browse files Browse the repository at this point in the history
* js 初始化支持token参数

* js 初始化支持token参数

* js 初始化支持token参数

* js 更改版本号

---------

Co-authored-by: zhangxin <[email protected]>
  • Loading branch information
zhangairku and zhangxin authored Feb 18, 2025
1 parent ebae18b commit 3392c9c
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 11 deletions.
2 changes: 1 addition & 1 deletion javascript/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@baiducloud/qianfan",
"version": "0.2.2",
"version": "0.2.3",
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
Expand Down
5 changes: 4 additions & 1 deletion javascript/src/Base/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export class BaseClient {
protected version?: string;
protected appid?: string;
access_token = '';
bear_token = '';
bearer_token = '';
expires_in = 0;

constructor(options?: {
Expand All @@ -52,6 +52,7 @@ export class BaseClient {
QIANFAN_ACCESS_KEY?: string;
QIANFAN_SECRET_KEY?: string;
QIANFAN_BASE_URL?: string;
QIANFAN_BEARER_TOKEN?: string;
QIANFAN_CONSOLE_API_BASE_URL?: string;
QIANFAN_LLM_API_RETRY_TIMEOUT?: string;
QIANFAN_LLM_API_RETRY_BACKOFF_FACTOR?: string;
Expand All @@ -72,6 +73,7 @@ export class BaseClient {
this.qianfanSecretKey = options?.QIANFAN_SECRET_KEY ?? defaultConfig.QIANFAN_SECRET_KEY;
this.Endpoint = options?.Endpoint;
this.qianfanBaseUrl = options?.QIANFAN_BASE_URL ?? defaultConfig.QIANFAN_BASE_URL;
this.bearer_token = options?.QIANFAN_BEARER_TOKEN ?? defaultConfig.QIANFAN_BEARER_TOKEN;
this.qianfanConsoleApiBaseUrl
= options?.QIANFAN_CONSOLE_API_BASE_URL ?? defaultConfig.QIANFAN_CONSOLE_API_BASE_URL;
this.qianfanV2BaseUrl = options?.QIANFAN_V2_BASE_URL ?? defaultConfig.QIANFAN_V2_BASE_URL;
Expand Down Expand Up @@ -168,6 +170,7 @@ export class BaseClient {
appid: this.appid,
model,
env: getCurrentEnvironment(),
bearer_token: this.bearer_token,
});
}
else {
Expand Down
28 changes: 19 additions & 9 deletions javascript/src/Base/version2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ export interface FetchOptionsProps {
* Qianfan 基础 URL
*/
qianfanV2BaseUrl?: string;
/**
* 访问令牌
*/
bearer_token?: string;
}


Expand All @@ -68,28 +72,34 @@ export const getFetchOptionsV2 = async (props: FetchOptionsProps) => {
model,
env,
} = props;
let {bearer_token} = props;

// SDK JS V2 版本目前只支持node环境
if (env !== 'node') {
throw new Error('SDK(JS)-V2版本目前只支持node环境');
}
// 检查鉴权信息
if (!qianfanAccessKey || !qianfanSecretKey) {
throw new Error('请设置QIANFAN_ACCESS_KEY/QIANFAN_SECRET_KEY');
}
const {token: bear_token} = await getBearToken();
if (!bear_token) {
throw new Error('请设置正确的QIANFAN_ACCESS_KEY/QIANFAN_SECRET_KEY');
}

if (!bearer_token) {
// 检查鉴权信息
if (!qianfanAccessKey || !qianfanSecretKey) {
throw new Error('请设置QIANFAN_ACCESS_KEY/QIANFAN_SECRET_KEY或BEARER_TOKEN');
}
let {token} = await getBearToken();
if (!token) {
throw new Error('生成 BearerToken 出错,请设置正确的QIANFAN_ACCESS_KEY/QIANFAN_SECRET_KEY');
}
else {
bearer_token = token;
}
}
const body = JSON.parse(requestBody);

return {
url: qianfanV2BaseUrl,
method: 'POST',
headers: {
...headers,
Authorization: `Bearer ${bear_token}`,
Authorization: `Bearer ${bearer_token}`,
appid,

},
Expand Down
1 change: 1 addition & 0 deletions javascript/src/constant.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export const DEFAULT_CONFIG: DefaultConfig = {
QIANFAN_SK: '',
QIANFAN_ACCESS_KEY: '',
QIANFAN_SECRET_KEY: '',
QIANFAN_BEARER_TOKEN: '',
QIANFAN_BASE_URL: 'https://aip.baidubce.com',
QIANFAN_CONSOLE_API_BASE_URL: 'https://qianfan.baidubce.com',
QIANFAN_BEAR_TOKEN_URL: 'http://iam.bj.baidubce.com/v1/BCE-BEARER/token',
Expand Down
1 change: 1 addition & 0 deletions javascript/src/interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ export interface DefaultConfig {
QIANFAN_ACCESS_KEY: string;
QIANFAN_SECRET_KEY: string;
QIANFAN_BASE_URL: string;
QIANFAN_BEARER_TOKEN: string;
QIANFAN_CONSOLE_API_BASE_URL: string;
QIANFAN_BEAR_TOKEN_URL: string;
QIANFAN_V2_BASE_URL: string;
Expand Down

0 comments on commit 3392c9c

Please sign in to comment.