@polyv/request-plugin-aes 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 +25 -19
- package/aes-plugin.d.ts +1 -1
- package/aes-plugin.js +2 -2
- package/package.json +6 -4
- package/utils.d.ts +1 -1
- package/utils.js +1 -1
package/README.md
CHANGED
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
|
|
5
5
|
## 实例化参数
|
|
6
6
|
|
|
7
|
-
| 参数名
|
|
8
|
-
|
|
|
9
|
-
| `appId`
|
|
10
|
-
| `appSecret`
|
|
7
|
+
| 参数名 | 用途 | 类型 | 默认值 |
|
|
8
|
+
| ---------------- | --------------------------------- | --------- | ------ |
|
|
9
|
+
| `appId` | 应用 ID | `string` | - |
|
|
10
|
+
| `appSecret` | 应用密钥 | `string` | - |
|
|
11
11
|
| `encryptPostAES` | 是否对 POST 请求主体进行 AES 加密 | `boolean` | `true` |
|
|
12
12
|
|
|
13
13
|
## 请求选项
|
|
14
14
|
|
|
15
|
-
| 参数名
|
|
16
|
-
|
|
|
17
|
-
| `useAES`
|
|
18
|
-
| `encryptPostAES` | 是否对 POST 请求主体进行 AES 加密 | `boolean` | -
|
|
15
|
+
| 参数名 | 用途 | 类型 | 默认值 |
|
|
16
|
+
| ---------------- | --------------------------------- | --------- | ------ |
|
|
17
|
+
| `useAES` | 是否使用 AES 加密 | `boolean` | `true` |
|
|
18
|
+
| `encryptPostAES` | 是否对 POST 请求主体进行 AES 加密 | `boolean` | - |
|
|
19
19
|
|
|
20
20
|
## 使用方式
|
|
21
21
|
|
|
@@ -25,9 +25,7 @@ import { AESRequestPlugin } from '@polyv/request-plugin-aes';
|
|
|
25
25
|
|
|
26
26
|
// 基础用法
|
|
27
27
|
const requester = new PolyvRequest({
|
|
28
|
-
requestPlugins: [
|
|
29
|
-
new AESRequestPlugin(),
|
|
30
|
-
]
|
|
28
|
+
requestPlugins: [new AESRequestPlugin()],
|
|
31
29
|
});
|
|
32
30
|
|
|
33
31
|
// 配置应用 ID 和密钥(用于某些特殊接口的加密)
|
|
@@ -37,7 +35,7 @@ const requester = new PolyvRequest({
|
|
|
37
35
|
appId: 'yourAppId',
|
|
38
36
|
appSecret: 'yourAppSecret',
|
|
39
37
|
}),
|
|
40
|
-
]
|
|
38
|
+
],
|
|
41
39
|
});
|
|
42
40
|
|
|
43
41
|
// 禁用 POST 请求主体加密
|
|
@@ -46,16 +44,24 @@ const requester = new PolyvRequest({
|
|
|
46
44
|
new AESRequestPlugin({
|
|
47
45
|
encryptPostAES: false,
|
|
48
46
|
}),
|
|
49
|
-
]
|
|
47
|
+
],
|
|
50
48
|
});
|
|
51
49
|
|
|
52
50
|
// 在某个请求中禁用 AES 加密
|
|
53
|
-
requester.get(
|
|
54
|
-
|
|
55
|
-
}
|
|
51
|
+
requester.get(
|
|
52
|
+
'/api/data',
|
|
53
|
+
{},
|
|
54
|
+
{
|
|
55
|
+
useAES: false,
|
|
56
|
+
},
|
|
57
|
+
);
|
|
56
58
|
|
|
57
59
|
// 在某个请求中禁用 POST 请求主体加密
|
|
58
|
-
requester.post(
|
|
59
|
-
|
|
60
|
-
}
|
|
60
|
+
requester.post(
|
|
61
|
+
'/api/data',
|
|
62
|
+
{ name: 'test' },
|
|
63
|
+
{
|
|
64
|
+
encryptPostAES: false,
|
|
65
|
+
},
|
|
66
|
+
);
|
|
61
67
|
```
|
package/aes-plugin.d.ts
CHANGED
package/aes-plugin.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { INTERNAL_AES_DECRYPT_IV, INTERNAL_AES_DECRYPT_SIGN, INTERNAL_AES_ENCRYPT_IV, INTERNAL_AES_ENCRYPT_SIGN } from './config';
|
|
1
|
+
import { INTERNAL_AES_DECRYPT_IV, INTERNAL_AES_DECRYPT_SIGN, INTERNAL_AES_ENCRYPT_IV, INTERNAL_AES_ENCRYPT_SIGN, } from './config';
|
|
2
2
|
import { encryptTextCBC } from './utils';
|
|
3
|
-
import {
|
|
3
|
+
import { AESDecryptType, decryptTextAES } from '@polyv/request-plugin-aes-decrypt';
|
|
4
4
|
// 1. 插件会在请求中自动添加 `encryptResponseType: 1` 参数,告知服务端需要返回加密数据
|
|
5
5
|
// 2. 对于 POST 请求,默认会对请求体进行 AES CBC 模式的加密,并添加 `x-e-type: 1` 请求头
|
|
6
6
|
// 3. 当服务端返回加密数据时(`encryption: true`),插件会自动对响应数据进行解密
|
package/package.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polyv/request-plugin-aes",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"main": "./index.js",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@polyv/request-core": "2.
|
|
7
|
-
"@polyv/request-plugin-aes-decrypt": "2.
|
|
6
|
+
"@polyv/request-core": "2.8.0",
|
|
7
|
+
"@polyv/request-plugin-aes-decrypt": "2.8.0",
|
|
8
8
|
"aes-js": "^3.1.2",
|
|
9
9
|
"crypto-js": "^4.1.1",
|
|
10
10
|
"js-base64": "^3.7.5"
|
|
11
11
|
},
|
|
12
|
-
"types": "./index.d.ts"
|
|
12
|
+
"types": "./index.d.ts",
|
|
13
|
+
"type": "module",
|
|
14
|
+
"miniprogram": "./"
|
|
13
15
|
}
|
package/utils.d.ts
CHANGED
package/utils.js
CHANGED
|
@@ -12,6 +12,6 @@ export function encryptTextCBC(targetText, encryptKeys) {
|
|
|
12
12
|
return CryptoJS.AES.encrypt(secretData, cryptoKey, {
|
|
13
13
|
iv: CryptoJS.enc.Utf8.parse(iv),
|
|
14
14
|
mode: CryptoJS.mode.CBC,
|
|
15
|
-
padding: CryptoJS.pad.Pkcs7
|
|
15
|
+
padding: CryptoJS.pad.Pkcs7,
|
|
16
16
|
}).toString();
|
|
17
17
|
}
|