@polyv/request-plugin-authorize-token 2.7.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -30
- package/authorize-token.d.ts +1 -1
- package/authorize-token.js +2 -2
- package/package.json +5 -3
- package/request-options.d.ts +1 -1
- package/types.d.ts +2 -2
package/README.md
CHANGED
|
@@ -4,30 +4,30 @@
|
|
|
4
4
|
|
|
5
5
|
## 实例化参数
|
|
6
6
|
|
|
7
|
-
| 参数名
|
|
8
|
-
|
|
|
9
|
-
| `useToken`
|
|
10
|
-
| `responseTokenField`
|
|
11
|
-
| `getTokenInfo`
|
|
12
|
-
| `responseTokenCallback` | 响应中获取令牌后的回调 | `function` | -
|
|
7
|
+
| 参数名 | 用途 | 类型 | 默认值 |
|
|
8
|
+
| ----------------------- | ---------------------- | ---------- | ------ |
|
|
9
|
+
| `useToken` | 默认使用 token 插件 | `boolean` | `true` |
|
|
10
|
+
| `responseTokenField` | 在响应中返回的令牌字段 | `string` | - |
|
|
11
|
+
| `getTokenInfo` | 获取授权令牌信息 | `function` | - |
|
|
12
|
+
| `responseTokenCallback` | 响应中获取令牌后的回调 | `function` | - |
|
|
13
13
|
|
|
14
14
|
## 请求选项
|
|
15
15
|
|
|
16
|
-
| 参数名
|
|
17
|
-
|
|
|
18
|
-
| `useToken`
|
|
19
|
-
| `tokenInfo` | 令牌信息
|
|
16
|
+
| 参数名 | 用途 | 类型 | 默认值 |
|
|
17
|
+
| ----------- | ------------------- | ----------- | ------ |
|
|
18
|
+
| `useToken` | 是否使用 token 授权 | `boolean` | `true` |
|
|
19
|
+
| `tokenInfo` | 令牌信息 | `TokenInfo` | - |
|
|
20
20
|
|
|
21
21
|
## 令牌信息类型
|
|
22
22
|
|
|
23
23
|
`TokenInfo` 类型如下:
|
|
24
24
|
|
|
25
|
-
| 参数名
|
|
26
|
-
|
|
|
27
|
-
| `token`
|
|
28
|
-
| `tokenMode`
|
|
29
|
-
| `tokenField`
|
|
30
|
-
| `includeParams` | 插入的 params
|
|
25
|
+
| 参数名 | 用途 | 类型 | 默认值 |
|
|
26
|
+
| --------------- | ----------------------------- | ----------- | ------------------ |
|
|
27
|
+
| `token` | 授权令牌 | `string` | - |
|
|
28
|
+
| `tokenMode` | 令牌方式,仅在 request 中生效 | `TokenMode` | `TokenMode.Params` |
|
|
29
|
+
| `tokenField` | 在请求中插入的令牌字段 | `string` | `'token'` |
|
|
30
|
+
| `includeParams` | 插入的 params | `object` | - |
|
|
31
31
|
|
|
32
32
|
## 使用方式
|
|
33
33
|
|
|
@@ -43,14 +43,14 @@ const requester = new PolyvRequest({
|
|
|
43
43
|
tokenMode: TokenMode.Header,
|
|
44
44
|
tokenField: 'xAuthToken',
|
|
45
45
|
}),
|
|
46
|
-
]
|
|
46
|
+
],
|
|
47
47
|
});
|
|
48
48
|
|
|
49
49
|
// 方式二(推荐):支持传入 getTokenInfo 方法获取,返回 TokenInfo 类型,优先级高于直接传入
|
|
50
50
|
const requester = new PolyvRequest({
|
|
51
51
|
requestPlugins: [
|
|
52
52
|
new AuthorizeTokenRequestPlugin({
|
|
53
|
-
getTokenInfo: async
|
|
53
|
+
getTokenInfo: async options => {
|
|
54
54
|
return {
|
|
55
55
|
token: 'xxxxx',
|
|
56
56
|
tokenMode: TokenMode.Header,
|
|
@@ -62,22 +62,30 @@ const requester = new PolyvRequest({
|
|
|
62
62
|
};
|
|
63
63
|
},
|
|
64
64
|
}),
|
|
65
|
-
]
|
|
65
|
+
],
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
// 方式三:调用时传入 tokenInfo
|
|
69
|
-
requester.get(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
requester.get(
|
|
70
|
+
'/xxx',
|
|
71
|
+
{},
|
|
72
|
+
{
|
|
73
|
+
tokenInfo: {
|
|
74
|
+
token: 'xxxxx',
|
|
75
|
+
tokenMode: TokenMode.Params,
|
|
76
|
+
tokenField: 'xAuthToken',
|
|
77
|
+
},
|
|
74
78
|
},
|
|
75
|
-
|
|
79
|
+
);
|
|
76
80
|
|
|
77
81
|
// 如果你想在某个请求中,不处理令牌操作时
|
|
78
|
-
requester.get(
|
|
79
|
-
|
|
80
|
-
}
|
|
82
|
+
requester.get(
|
|
83
|
+
'/xxxx',
|
|
84
|
+
{},
|
|
85
|
+
{
|
|
86
|
+
useToken: false,
|
|
87
|
+
},
|
|
88
|
+
);
|
|
81
89
|
```
|
|
82
90
|
|
|
83
91
|
### TokenMode 区别
|
|
@@ -94,11 +102,11 @@ const requester = new PolyvRequest({
|
|
|
94
102
|
requestPlugins: [
|
|
95
103
|
new AuthorizeTokenRequestPlugin({
|
|
96
104
|
responseTokenField: 'x-auth-token',
|
|
97
|
-
responseTokenCallback:
|
|
105
|
+
responseTokenCallback: data => {
|
|
98
106
|
console.log('从接口响应中获取到的令牌', data.token);
|
|
99
107
|
},
|
|
100
108
|
}),
|
|
101
|
-
]
|
|
109
|
+
],
|
|
102
110
|
});
|
|
103
111
|
```
|
|
104
112
|
|
package/authorize-token.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RequestOptions, RequestPlugin, RequestResult } from '@polyv/request-core';
|
|
2
|
-
import { AuthorizeTokenRequestPluginConfig, TokenInfo } from './types';
|
|
2
|
+
import { type AuthorizeTokenRequestPluginConfig, type TokenInfo } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* 授权 token 请求插件
|
|
5
5
|
*/
|
package/authorize-token.js
CHANGED
|
@@ -26,7 +26,7 @@ export class AuthorizeTokenRequestPlugin {
|
|
|
26
26
|
if (!token) {
|
|
27
27
|
return options;
|
|
28
28
|
}
|
|
29
|
-
const { tokenField = DEFAULT_TOKEN_FIELD, tokenMode = DEFAULT_TOKEN_MODE, includeParams = {}
|
|
29
|
+
const { tokenField = DEFAULT_TOKEN_FIELD, tokenMode = DEFAULT_TOKEN_MODE, includeParams = {} } = tokenInfo;
|
|
30
30
|
let params = (options.params || {});
|
|
31
31
|
const headers = (options.headers || {});
|
|
32
32
|
// 插入额外的 params
|
|
@@ -75,7 +75,7 @@ export class AuthorizeTokenRequestPlugin {
|
|
|
75
75
|
};
|
|
76
76
|
if (typeof this.__config.getTokenInfo === 'function') {
|
|
77
77
|
// 第二优先:实例化参数的 getToken
|
|
78
|
-
const res = await this.__config.getTokenInfo(options) || {};
|
|
78
|
+
const res = (await this.__config.getTokenInfo(options)) || {};
|
|
79
79
|
info = { ...info, ...res };
|
|
80
80
|
}
|
|
81
81
|
if (options.tokenInfo) {
|
package/package.json
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polyv/request-plugin-authorize-token",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"main": "./index.js",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@polyv/request-core": "2.
|
|
6
|
+
"@polyv/request-core": "2.8.0"
|
|
7
7
|
},
|
|
8
|
-
"types": "./index.d.ts"
|
|
8
|
+
"types": "./index.d.ts",
|
|
9
|
+
"type": "module",
|
|
10
|
+
"miniprogram": "./"
|
|
9
11
|
}
|
package/request-options.d.ts
CHANGED
package/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RequestOptions } from
|
|
1
|
+
import type { RequestOptions } from '@polyv/request-core';
|
|
2
2
|
export interface AuthorizeTokenRequestPluginConfig extends TokenInfo {
|
|
3
3
|
/**
|
|
4
4
|
* 默认使用 token 插件
|
|
@@ -6,7 +6,7 @@ export interface AuthorizeTokenRequestPluginConfig extends TokenInfo {
|
|
|
6
6
|
*/
|
|
7
7
|
useToken?: boolean;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* 在响应中返回的令牌字段,传入后,如果响应头中存在令牌则插件内部记录,并在后续的请求中自动带上令牌
|
|
10
10
|
*/
|
|
11
11
|
responseTokenField?: string;
|
|
12
12
|
/**
|