提交 6e53239b 编写于 作者: JiaRongPing's avatar JiaRongPing

Merge branch 'master' of https://gitcode.net/dcloud/unidocs-zh

......@@ -2362,7 +2362,24 @@ uni-id 在URL化请求时,会对以下 API 进行调用鉴权验证,
|uni-id-signature|string|是|请求鉴权签名; 签名算法见下|
### 鉴权签名算法
1. 将API请求参数(只包括请求body中的params参数,但除去array与object类型的参数),根据参数名称的ASCII码表的顺序排序。如:`foo:1, bar:2, foo_bar:3, foobar:4`排序后的顺序是 `bar:2, foo:1, foo_bar:3, foobar:4`
如下为某请求体参数,介绍如何进行签名:
```json
{
"clientInfo": {
"appId": "__test__"
},
"uniIdToken": "xxxxxx",
"params": {
"foo": 1,
"bar": 2,
"foo_bar": 3,
"foobar": 4
}
}
```
1. 将API请求参数(只包括请求体(body)中的`params`参数,但除去array与object类型的参数),根据参数名称的ASCII码表的顺序排序。如:`foo:1, bar:2, foo_bar:3, foobar:4`排序后的顺序是 `bar:2, foo:1, foo_bar:3, foobar:4`
2. 将排序好的参数名和参数值按照 `key1=value1&key2=value2` 格式拼装在一起,根据上面的示例得到的结果为:`bar=2&foo=1&foo_bar=3&foobar=4`
3. 把拼装好的字符串采用utf-8编码,开发者使用请求鉴权密钥与随机串对时间戳与待签名字符串进行 HmacSHA256 加密处理,计算得出请求签名值,如:`HmacSHA256(timestamp + bar=2&foo=1&foo_bar=3&foobar=4, requestAuthSecret + nonce)`
4. 将加密得到的二进制结果使用十六进制表示,值必须为大写,如:`Hex.stringify(Utf8.parse("helloworld")) = "68656C6C6F776F726C64"`
......
......@@ -345,9 +345,9 @@ uni-id-co 与 uni-id-pages 内的前端页面均支持这四个内置规则
配置项`userRegisterDefaultRole`的值类型为`Array`,每个元素为角色ID(role_id), 例如:
```javascript
```json
{
"userRegisterDefaultRole": ['user']
"userRegisterDefaultRole": ["user"]
}
```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册