可以对登录密钥进行管理,支持绑定用户,保证传输安全性,防止篡改。
1.新建密钥
入口:点击系统管理,选择用户权限,点击密钥管理。
点击新建,打开密钥管理新建界面
密钥管理可以绑定用户,如果不选择用户,申请者ID为系统自动生成的ID,申请者ID和密钥为动态生成,与API密钥保持一致。
个人秘钥可以进入个人设置-密钥管理页面中进行修改生成,如果该用户没有绑定过,第一次进入可以点击获取密钥,重新生成。
修改密钥,可以点击重新获取来重新生成密钥。
新建完成后,在列表中会显示申请者ID,点击查看秘钥可以查看申请者秘钥,点击重置密钥,密钥会重新生成。
2.token免密登录方式
2.1通过第三方账号秘钥去获取Token带签名进行免密登录
1接口地址:/eacl/api/token/getTokenByKey.do
参数key | 描述 | 备注 | 是否必传参数 |
appid | 秘钥管理页面注册的账号 |
| 是 |
appsecret | 秘钥管理页面注册的密码 |
| 是 |
referurls | 该参数是针对页面url增强控制。 1.url是页面:增强控制仅能使用到页面内的url(页面url),新开tab页无法访问到该用户别的有权限地址。 | 字符串;多个地址以逗号分隔,例如:/web/eacl/org.do | 否,非高安全场景,不需要加该参数 |
2示例:
http://172.21.11.37:8561/abi561/eacl/api/token/getTokenByKey.do?appid=abi&appsecret=abi
3返回值:
{"status":200,"message":"获取令牌token信息成功","data":{"esentoken":"5d841f2faa084c819c08dfa110efb2c1","refreshToken":"2df52d65166b4426991a9f42d31b945a"},"error":null}
4通过esentoken和访问的url路径及userid获取签名(需要后台使用Post请求获取签名,保证安全性)
备注:可使用PostMan等工具获取签名。
4.1接口地址:/eacl/api/token/getSign.do
参数key | 描述 | 备注 | 是否必传参数 |
token | 上面步骤3获取的esentoken | 字符串; | 是 |
url | 预访问的链接地址 | 字符串;例如:/web/eacl (页面url前缀) 或 /eacl (接口url前缀) 或 /(所有地址均可访问)。代表使用token的时候免密的url地址前缀 注意: 1.如果是页面url地址,则使用esentoken和esensign登录之后会有登录会话,即新开浏览器tab不带token可以访问该用户所有有权限的页面。 2.如果是接口url地址,则使用esentoken和esensign访问接口之后无登录会话,即新开浏览器tab不带token不能访问其它有权限的接口。 | 是 |
uid | 使用的用户id | 例如:user (如果密钥管理绑定了用户,则不需要传用户id) | 是 |
4.2示例:
http://172.21.11.37:8561/abi561/eacl/api/token/getSign.do?token=5d841f2faa084c819c08dfa110efb2c1&url=/eacl&uid=user
4.3返回值:
{"status":200,"message":"获取签名成功。","data":{"esensign":"bVXNMjvqbXBezMmcE2U5hB4WSDTqRQ8aKYNzoPKpNgyV3FsZAzuEI2HTjO-Ld14v","esentoken":"5d841f2faa084c819c08dfa110efb2c1"},"error":null}
5在另外一个浏览器使用该登录用户的esentoken(令牌)及esensign(签名)去免密访问接口url(/web/eacl)获取数据或访问页面(esentoken、esensign参数请求支持header中存储获取)
5.1示例:
http://172.21.11.37:8561/abi561/eacl/token/refreshDatas.do?cmd=listUsers&esentoken=5d841f2faa084c819c08dfa110efb2c1&esensign=bVXNMjvqbXBezMmcE2U5hB4WSDTqRQ8aKYNzoPKpNgyV3FsZAzuEI2HTjO-Ld14v
2.2通过当前登录信息获取令牌免密访问服务器
1.接口地址:/eacl/api/token/getTokenByLogin.do
参数key | 描述 | 备注 | 是否必传参数 |
longTime | 时长 | 数值型;不传默认为1分钟,单位为分钟。例如:5 小于0为无限制时长 | 否 |
maxTimes | 最大使用次数 | 数值型;不传默认为10。例如:10 小于0为无限制次数 | 否 |
url | 预访问的链接地址 | 字符串;例如:/web/eacl (页面url前缀) 或 /eacl (接口url前缀)或 /(所有地址均可访问)。代表使用token的时候免密的url地址前缀 注意: 1.如果是页面url地址,则使用esentoken和esensign登录之后会有登录会话,即新开浏览器tab不带token可以访问该用户所有有权限的页面。 2.如果是接口url地址,则使用esentoken和esensign访问接口之后无登录会话,即新开浏览器tab不带token不能访问其它有权限的接口。 | 是 |
referurls | 该参数是针对页面url增强控制。 1.url是页面:增强控制仅能使用到页面内的url(页面url),新开tab页无法访问到该用户别的有权限地址。 | 字符串;多个地址以逗号分隔,例如:/web/eacl/org.do | 否,非高安全场景,不需要加该参数 |
2.示例:
http://172.21.11.37:8561/abi561/eacl/api/token/getTokenByLogin.do?longTime=10&maxTimes=3&url=/web/eacl
3.返回值:
{"status":200,"message":"通过当前登录信息获取令牌token成功","data":{"esentoken":"06710e65c4384ceab36af4ed5b1c7b58","refreshToken":"f7a9270878f74c9f884a6ec477787ccf","esensign":"AwrnzT7XlX_ha3lNpS1bq6ODUM0cVQhGcgL_5uNjZjknmGqePc0Huar4qYs11j3x"},"error":null}
4在另外一个浏览器使用该登录用户的esentoken(令牌)及esensign(签名)去免密访问接口url(/web/eacl)获取数据或访问页面(esentoken、esensign参数请求支持header中存储获取)
4.1示例:
http://172.21.11.37:8561/abi561/eacl/token.do?esentoken=06710e65c4384ceab36af4ed5b1c7b58&esensign=AwrnzT7XlX_ha3lNpS1bq6ODUM0cVQhGcgL_5uNjZjknmGqePc0Huar4qYs11j3x
2.3通过用户名和密码去获取Token带签名进行免密登录
1.接口地址:/eacl/api/token/getTokenByUser.do
参数key | 描述 | 备注 | 是否必传参数 |
uid | 系统用户名 | 字符型;例如:abi | 是 |
pwd | 密码 | 字符型;例如:abi | 是 |
longTime | 时长 | 数值型;不传默认为1分钟,单位为分钟。例如:5 | 否 |
maxTimes | 最大使用次数 | 数值型;不传默认为10。例如:10 | 否 |
referurls | 该参数是针对页面url增强控制。 1.url是页面:增强控制仅能使用到页面内的url(页面url),新开tab页无法访问到该用户别的有权限地址。 | 字符串;多个地址以逗号分隔,例如:/web/eacl/org.do | 否,非高安全场景,不需要加该参数 |
2示例:
http://172.21.11.37:8561/abi561/eacl/api/token/getTokenByUser.do?longTime=10&maxTimes=3&uid=abi&pwd=abi
3返回值:
{"status":200,"message":"获取令牌token信息成功","data":{"esentoken":"5d841f2faa084c819c08dfa110efb2c1","refreshToken":"2df52d65166b4426991a9f42d31b945a"},"error":null}
4通过esentoken和需要访问的url路径获取签名(需要后台使用Post请求获取签名,保证安全性)
备注:可使用PostMan等工具获取签名。
4.1接口地址:/eacl/api/token/getSign.do
参数key | 描述 | 备注 | 是否必传参数 |
token | 上面步骤3获取的esentoken | 字符串; | 是 |
url | 预访问的链接地址 | 字符串;例如:/web/eacl (页面url前缀) 或 /eacl (接口url前缀)或 /(所有地址均可访问)。代表使用token的时候免密的url地址前缀 注意: 1.如果是页面url地址,则使用esentoken和esensign登录之后会有登录会话,即新开浏览器tab不带token可以访问该用户所有有权限的页面。 2.如果是接口url地址,则使用esentoken和esensign访问接口之后无登录会话,即新开浏览器tab不带token不能访问其它有权限的接口。 | 是 |
4.2示例:
http://172.21.11.37:8561/abi561/eacl/api/token/getSign.do?token=5d841f2faa084c819c08dfa110efb2c1&url=/web/eacl
4.3返回值:
{"status":200,"message":"获取签名成功。","data":{"esensign":"bVXNMjvqbXBezMmcE2U5hB4WSDTqRQ8aKYNzoPKpNgyV3FsZAzuEI2HTjO-Ld14v","esentoken":"5d841f2faa084c819c08dfa110efb2c1"},"error":null,"exception":null}
5在另外一个浏览器使用该登录用户的esentoken(令牌)及esensign(签名)去免密访问接口url(/web/eacl)获取数据或访问页面(esentoken、esensign参数请求支持header中存储获取)
5.1示例:
http://172.21.11.37:8561/abi561/eacl/token.do?esentoken=5d841f2faa084c819c08dfa110efb2c1&esensign=bVXNMjvqbXBezMmcE2U5hB4WSDTqRQ8aKYNzoPKpNgyV3FsZAzuEI2HTjO-Ld14v
2.4通过第三方账号密钥一次调用获取Token带前面进行免密登录(获取Token及签名合并一起调用)
1接口地址:/eacl/api/token/getTokenAndSign.do
参数key | 描述 | 备注 | 是否必传参数 |
appid | 秘钥管理页面注册的账号 |
| 是 |
appsecret | 秘钥管理页面注册的密码 |
| 是 |
url | 预访问的链接地址,支持到参数:/xxx/yyy.do?cmd=aaa | 字符串;例如:/web/eacl (页面url前缀) 或 /eacl (接口url前缀) 或 /(所有地址均可访问)。代表使用token的时候免密的url地址前缀 注意: 1.如果是页面url地址,则使用esentoken和esensign登录之后会有登录会话,即新开浏览器tab不带token可以访问该用户所有有权限的页面。 2.如果是接口url地址,则使用esentoken和esensign访问接口之后无登录会话,即新开浏览器tab不带token不能访问其它有权限的接口。 | 是 |
uid | 使用的用户id | 例如:user (如果密钥管理绑定了用户,则不需要传用户id) | 否 |
referurls | 该参数是针对页面url增强控制。 1.url是页面:增强控制仅能使用到页面内的url,新开tab页无法访问到该用户别的有权限页面地址。 | 字符串;多个地址以逗号分隔 页面url控制:例如:/web/eacl/orgmgr.do | 否,非高安全场景,不需要加该参数 |
2示例
http://172.21.11.37:8561/abi561/eacl/api/token/getTokenAndSign.do?appid=30ba62d1e6c541269c442a2a40b1fd0c&appsecret=0ba256f05ef34e02961dcb20a71a2950&url=/welcome.do
3返回值
{"status":200,"message":"获取token及签名成功。","data":{"esensign":"3NPLTtozCbwzSkcc3zihQ46JIfU-kbCiiayi_iHf4LdKQ2-EQjAaNAqWr-Fx1Xd8","esentoken":"885237f549a847dbb09e9909c752c56e","refreshToken":"cd94c039c1a945e49e63391c13e1f11c"},"error":null}
4在另外一个浏览器使用该登录用户的esentoken(令牌)及esensign(签名)去免密访问接口url(/web/eacl)获取数据或访问页面(esentoken、esensign参数请求支持header中存储获取)
4.1示例:
http://172.21.11.37:8561/abi561/welcome.do?esentoken=885237f549a847dbb09e9909c752c56e&esensign=3NPLTtozCbwzSkcc3zihQ46JIfU-kbCiiayi_iHf4LdKQ2-EQjAaNAqWr-Fx1Xd8#navigator:web/index.do?rshid=welcome
3.失效Token
1.URL地址:/eacl/api/token/invalidToken.do
2.参数说明
参数key | 描述 | 备注 | 是否必传参数 |
token | token值 | 例如:ba86b396379944a8a813f8d017bf6669 | 是 |
3.返回结果
{"status":200,"message":"失效令牌token成功。","data":null,"error":null}
4.示例
http://172.21.11.37:8561/abi561/eacl/api/token/invalidToken.do?token=ba86b396379944a8a813f8d017bf6669
4.检查Token有效性
1.URL地址:/eacl/api/token/checkToken.do
2.参数说明:
参数key | 描述 | 备注 | 是否必传参数 |
token | token值 | 例如:ba86b396379944a8a813f8d017bf6669 | 是 |
3.返回结果:
参数key | 描述 | 备注 |
status | 状态码 | 默认是200 |
data | state: 枚举值:1,2,3,4 msg:state对应的描述如下:1(token有效),2(token不存在,无法正常使用该token) ,3(token访问次数为0,无法继续访问),4(token访问时长已经用完,无法继续访问) |
|
message | 检查结果信息 |
|
4.返回值:
{"status":200,"message":"检查令牌token成功","data":{"state":4,"msg":"token访问时长已经用完,无法继续访问"},"error":null}
5.示例:
http://172.21.11.37:8561/abi561/eacl/api/token/checkToken.do?token=ba86b396379944a8a813f8d017bf6669
5.续Token时长
1.URL地址:/eacl/api/token/refreshToken.do
2.参数说明:
参数key | 描述 | 备注 | 是否必传参数 |
refreshToken | 刷新token值 | 例如:ba86b396379944a8a813f8d017bf6669 | 是 |
3.返回结果:
参数key | 描述 | 备注 |
status | 状态码 | 默认是200 |
data | esentoken:刷新成功的token值 refreshToken:使用到的刷新token |
|
message | 刷新结果信息 |
|
4.返回值:
{"status":200,"message":"刷新令牌token成功。","data":{"esentoken":"1dd0da31b1c84387b89b8e33aae28fe3","refreshToken":"6514bf84177c48cbb1164954aca83b29"},"error":null}
5.示例:
http://172.21.11.37:8561/abi561/eacl/api/token/refreshToken.do?refreshToken=6514bf84177c48cbb1164954aca83b29
请先登录