@polyv/request-plugin-authorize-app-sign 2.7.1 → 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 +35 -27
- package/authorize-app-sign-plugin.d.ts +1 -1
- package/authorize-app-sign-plugin.js +3 -3
- package/package.json +7 -6
- package/request-options.d.ts +1 -1
- package/types.d.ts +1 -1
- package/utils.js +1 -2
package/README.md
CHANGED
|
@@ -4,32 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
## 实例化参数
|
|
6
6
|
|
|
7
|
-
| 参数名
|
|
8
|
-
|
|
|
9
|
-
| `appId`
|
|
10
|
-
| `appSecret`
|
|
11
|
-
| `signatureNonce`
|
|
12
|
-
| `signatureMethod` | 签名方式
|
|
13
|
-
| `getAppSign`
|
|
7
|
+
| 参数名 | 用途 | 类型 | 默认值 |
|
|
8
|
+
| ----------------- | ---------------------- | ----------------- | --------------------- |
|
|
9
|
+
| `appId` | 应用 ID | `string` | - |
|
|
10
|
+
| `appSecret` | 应用密钥 | `string` | - |
|
|
11
|
+
| `signatureNonce` | 是否使用防重放 | `boolean` | `false` |
|
|
12
|
+
| `signatureMethod` | 签名方式 | `SignatureMethod` | `SignatureMethod.MD5` |
|
|
13
|
+
| `getAppSign` | 获取应用签名信息的方法 | `function` | - |
|
|
14
14
|
|
|
15
15
|
## 请求选项
|
|
16
16
|
|
|
17
|
-
| 参数名
|
|
18
|
-
|
|
|
19
|
-
| `useAppSign`
|
|
20
|
-
| `signatureNonce`
|
|
21
|
-
| `signatureMethod` | 签名方式
|
|
17
|
+
| 参数名 | 用途 | 类型 | 默认值 |
|
|
18
|
+
| ----------------- | -------------------- | ----------------- | ------ |
|
|
19
|
+
| `useAppSign` | 是否使用应用签名授权 | `boolean` | `true` |
|
|
20
|
+
| `signatureNonce` | 是否使用防重放 | `boolean` | - |
|
|
21
|
+
| `signatureMethod` | 签名方式 | `SignatureMethod` | - |
|
|
22
22
|
|
|
23
23
|
## 应用签名信息类型
|
|
24
24
|
|
|
25
25
|
`AppSignData` 类型如下:
|
|
26
26
|
|
|
27
|
-
| 参数名
|
|
28
|
-
|
|
|
29
|
-
| `appId`
|
|
30
|
-
| `timestamp`
|
|
31
|
-
| `sign`
|
|
32
|
-
| `signatureMethod` | 签名方式
|
|
27
|
+
| 参数名 | 用途 | 类型 | 默认值 |
|
|
28
|
+
| ----------------- | ------------ | ----------------- | ------ |
|
|
29
|
+
| `appId` | 应用 ID | `string` | - |
|
|
30
|
+
| `timestamp` | 签名的时间戳 | `number` | - |
|
|
31
|
+
| `sign` | 签名 | `string` | - |
|
|
32
|
+
| `signatureMethod` | 签名方式 | `SignatureMethod` | - |
|
|
33
33
|
|
|
34
34
|
## 使用方式
|
|
35
35
|
|
|
@@ -45,7 +45,7 @@ const requester = new PolyvRequest({
|
|
|
45
45
|
appSecret: 'yourAppSecret',
|
|
46
46
|
signatureMethod: SignatureMethod.MD5,
|
|
47
47
|
}),
|
|
48
|
-
]
|
|
48
|
+
],
|
|
49
49
|
});
|
|
50
50
|
|
|
51
51
|
// 方式二(推荐):自定义获取应用签名信息的方法
|
|
@@ -62,7 +62,7 @@ const requester = new PolyvRequest({
|
|
|
62
62
|
};
|
|
63
63
|
},
|
|
64
64
|
}),
|
|
65
|
-
]
|
|
65
|
+
],
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
// 使用防重放机制
|
|
@@ -73,18 +73,26 @@ const requester = new PolyvRequest({
|
|
|
73
73
|
appSecret: 'yourAppSecret',
|
|
74
74
|
signatureNonce: true,
|
|
75
75
|
}),
|
|
76
|
-
]
|
|
76
|
+
],
|
|
77
77
|
});
|
|
78
78
|
|
|
79
79
|
// 如果你想在某个请求中使用不同的签名方式
|
|
80
|
-
requester.get(
|
|
81
|
-
|
|
82
|
-
}
|
|
80
|
+
requester.get(
|
|
81
|
+
'/api/data',
|
|
82
|
+
{},
|
|
83
|
+
{
|
|
84
|
+
signatureMethod: SignatureMethod.SHA256,
|
|
85
|
+
},
|
|
86
|
+
);
|
|
83
87
|
|
|
84
88
|
// 如果你想在某个请求中不使用应用签名授权
|
|
85
|
-
requester.get(
|
|
86
|
-
|
|
87
|
-
}
|
|
89
|
+
requester.get(
|
|
90
|
+
'/api/data',
|
|
91
|
+
{},
|
|
92
|
+
{
|
|
93
|
+
useAppSign: false,
|
|
94
|
+
},
|
|
95
|
+
);
|
|
88
96
|
```
|
|
89
97
|
|
|
90
98
|
## 签名处理逻辑
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SignatureMethod } from './types';
|
|
1
|
+
import { uuidV4 } from '@polyv/utils-string';
|
|
2
|
+
import { SignatureMethod, } from './types';
|
|
3
3
|
import { getDataSign } from './utils';
|
|
4
4
|
/**
|
|
5
5
|
* 应用签名授权请求插件
|
|
@@ -33,7 +33,7 @@ export class AuthorizeAppSignRequestPlugin {
|
|
|
33
33
|
const includeParams = {};
|
|
34
34
|
// 加入放重放参数
|
|
35
35
|
if (signatureNonce) {
|
|
36
|
-
includeParams.signatureNonce =
|
|
36
|
+
includeParams.signatureNonce = uuidV4();
|
|
37
37
|
}
|
|
38
38
|
// 加入签名方式
|
|
39
39
|
if (signatureMethod) {
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polyv/request-plugin-authorize-app-sign",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"main": "./index.js",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@polyv/request-core": "2.
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"uuid": "^9.0.0"
|
|
6
|
+
"@polyv/request-core": "2.8.0",
|
|
7
|
+
"@polyv/utils-encrypt": "^3.3.0",
|
|
8
|
+
"@polyv/utils-string": "^3.3.0"
|
|
10
9
|
},
|
|
11
|
-
"types": "./index.d.ts"
|
|
10
|
+
"types": "./index.d.ts",
|
|
11
|
+
"type": "module",
|
|
12
|
+
"miniprogram": "./"
|
|
12
13
|
}
|
package/request-options.d.ts
CHANGED
package/types.d.ts
CHANGED