如何生成token
更新时间: 2024-12-19 16:20:13
阅读 1005
如何生成token
token主要是为了用户在使用集成页面时作登录和权限验证,如果用户想集成我们有数的报告和大屏,必须在有数环境中有一个可使用的账号,生成token的方式有两种:
- 用户名密码方式token
- tokenkey方式生成token
我们可以通过第三方工具(postoman、apifox等)来调用有数的接口(/api/dash/util/genToken)来生成token,具体接口实例为:{有数的域名(或ip)}/api/dash/util/genToken
。token也分两种:
- 带权限的token
- 不带权限的token
下面就以tokenkey的方式来生成带权限的token和不带权限的token
tokenkey的生成
在用户中心可以生成tokenkey
不带权限的token
通过第三方工具调用接口:
key:指代的就是在用户中心生成的tokenkey
生成带权限的token
这个token里面需要有报告的查看权限,同时还需要跟随对应的数据权限。
通过第三方工具调用接口:
代码解释:
{
"tokenType": "tokenKey",
"key": "1605579194431f993e8c6d1e40149673e5eb6",
"resourcePermissions": [
{
"projectId": 789, //项目id
"resourceType": "NEW_REPORT", //资源类型:报告 ("resourceType": "NEW_SCREEN")大屏pro
"resourceId": 88077, //报告id
"permissions": [
"view" //权限资源:查看
]
}
],
**数据权限管控**
"filterMap": {
"5909": {
"rule": "or",
"dataFilters": [
{
"filterType": "listFilter",
"selectType": "select",
"tableName": "bigviz_user",
"filter": {
"dim": {
"field": "nick",
"dataType": "String"
},
"select": [
"apiuser77"
]
}
}
]
}
}
}
上述如果生成的token没有生效的话,尝试在dataFilters中加一个database参数:
{
"tokenType": "tokenKey",
"key": "1605579194431f993e8c6d1e40149673e5eb6",
"resourcePermissions": [
{
"projectId": 789, //项目id
"resourceType": "NEW_REPORT", //资源类型:报告 ("resourceType": "NEW_SCREEN")大屏pro
"resourceId": 88077, //报告id
"permissions": [
"view" //权限资源:查看
]
}
],
**数据权限管控**
"filterMap": {
"5909": {
"rule": "or",
"dataFilters": [
{
"filterType": "listFilter",
"selectType": "select",
"database": "bigviz"
"tableName": "bigviz_user",
"filter": {
"dim": {
"field": "nick",
"dataType": "String"
},
"select": [
"apiuser77"
]
}
}
]
}
}
}
数据库名字由数据链接类型决定,如果在建数据模型时需要选择database,这里则需要,否则不需要
调用成功之后也会返回对应的token值:
token默认失效时间是多少?如果配置永久?token 失效默认是30天,如果需要永久token,可以在接口上面添加参数expiryTime(单位是秒):
文档反馈
以上内容对您是否有帮助?