在秘钥管理中设置秘钥后,即可通过第三方账号秘钥去获取Token带签名进行免密登录。进入秘钥管理可以管理第三方秘钥。秘钥支持增删改。功能入口:
新增第三方秘钥时,需要设置第三方名称,账号密码,令牌有效时长和令牌最大次数等属性。编辑秘钥时只能修改令牌有效时长和令牌最大次数。修改密码可以修改秘钥的密码。
示例:账号:a,密码:123456。
访问地址:
http://localhost:8080/abi/api/eacl/token/getTokenByKey.do?appid=a&appsecret=123456&needSession=false
即可免密登录。
2.1通过当前登录信息获取令牌免密访问服务器
参数key | 描述 | 备注 | 是否必传参数 |
longTime | 时长 | 数值型;不传默认为1分钟,单位为分钟。例如:5 | 否 |
maxTimes | 最大使用次数 | 数值型;不传默认为10。例如:10 | 否 |
url | 预访问的链接地址 | 字符串;例如:/eshare/favorite。代表使用token的时候免密的url地址前缀 | 是 |
needSession | 是否使用session登录 | 布尔型;默认为false;true:代表token访问之后,还存在,相当于登录之后访问。 false:单次访问,访问完之后就注销,如果下次没有token,则就跳转登录页。 | 否 |
2.2通过第三方账号秘钥去获取Token带签名进行免密登录
参数key | 描述 | 备注 | 是否必传参数 |
appid | 秘钥管理页面注册的账号 |
| 是 |
appsecret | 秘钥管理页面注册的密码 |
| 是 |
needSession | 是否使用session登录 | 布尔型;默认为false;true:代表token访问之后,还存在,相当于登录之后访问。 false:单次访问,访问完之后就注销,如果下次没有token,则就跳转登录页。 | 否 |
参数key | 描述 | 备注 | 是否必传参数 |
token | 上面步骤3获取的esentoken | 字符串; | 是 |
url | 预访问的链接地址 | 字符串;例如:/eshare/favorite。代表使用token的时候免密的url地址前缀 | 是 |
示例:
http://localhost:8084/abi/api/eacl/token/getSign.do?token=ba86b396379944a8a813f8d017bf6669&url=/ebbs/bbsgroup
返回值:
{"code":1,"esensign":"YmE4NmIzOTYzNzk5NDRhOGE4MTNmOGQwMTdiZjY2NjksL2ViYnMvYmJzZ3JvdXA=","esentoken":"ba86b396379944a8a813f8d017bf6669","message":"获取签名成功。"}
在另外一个浏览器使用该登录用户的esentoken(令牌)及esensign(签名)去免密访问接口url(/ebbs/bbsgroup)获取数据或访问页面。
示例:
http://localhost:8084/abi/ebbs/bbsgroup.do?action=list&esentoken=ba86b396379944a8a813f8d017bf6669&esensign=YmE4NmIzOTYzNzk5NDRhOGE4MTNmOGQwMTdiZjY2NjksL2ViYnMvYmJzZ3JvdXA=&userid=admin
注意:第三方账号免密登录地址需要指定系统用户userid。
免密进入,如下图所示:
2.3通过用户名和密码去获取Token带签名进行免密登录
参数key | 描述 | 备注 | 是否必传参数 |
userid | 系统用户名 | 字符型;例如:admin | 是 |
pwd | 密码 | 字符型;例如:admin | 是 |
longTime | 时长 | 数值型;不传默认为1分钟,单位为分钟。例如:5 | 否 |
maxTimes | 最大使用次数 | 数值型;不传默认为10。例如:10 | 否 |
needSession | 是否使用session登录 | 布尔型;默认为false;true:代表token访问之后,还存在,相当于登录之后访问。 false:单次访问,访问完之后就注销,如果下次没有token,则就跳转登录页。 | 否 |
示例:
http://localhost:8084/abi/api/eacl/token/getTokenByUser.do?userid=admin&pwd=admin&needSession=false&longTime=100&maxTimes=100
返回值:
{"code":1,"data":{"esentoken":"aa7e58da56894759867e1ead88caf216",
"refreshToken":"62e1c0478bb3495cacc780dac9d4b84c"},"message":"Get the token information successfully"}
通过esentoken和需要访问的url路径获取签名(这里临时提供相关接口供测试使用)。
接口地址:/api/eacl/token/getSign.do
参数key | 描述 | 备注 | 是否必传参数 |
token | 上面步骤3获取的esentoken | 字符串; | 是 |
url | 预访问的链接地址 | 字符串;例如:/eshare/favorite。代表使用token的时候免密的url地址前缀 | 是 |
示例:
http://localhost:8084/abi/api/eacl/token/getSign.do?token=aa7e58da56894759867e1ead88caf216&url=/ebbs/bbsgroup
返回值:
{"code":1,"esensign":"YWE3ZTU4ZGE1Njg5NDc1OTg2N2UxZWFkODhjYWYyMTYsL2ViYnMvYmJzZ3JvdXA=","esentoken":"aa7e58da56894759867e1ead88caf216","message":"获取签名成功。"}
在另外一个浏览器使用该登录用户的esentoken(令牌)及esensign(签名)去免密访问接口url(/ebbs/bbsgroup)获取数据或访问页面。
示例:
http://localhost:8084/abi/ebbs/bbsgroup.do?action=list&esentoken=aa7e58da56894759867e1ead88caf216&esensign=YWE3ZTU4ZGE1Njg5NDc1OTg2N2UxZWFkODhjYWYyMTYsL2ViYnMvYmJzZ3JvdXA=
注意:通过系统账号密码获取esentoken进行免密登录地址不需要指定系统用户userid。
免密进入,如下图所示:
请先登录