嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
1、登录验证的接口 :
192.168.3.69:8080/loginApi/login
body参数:
{
"username":"gwh",
"password":"gwh666"
}
返回:
{
"code": "0000",
"message": "登录成功",
"content": {
"sessionid": "2996baaf47c34294a1295626988ce65a",
"userid": "93ab22fbf67b4cd4b065d9d69a2d7cc9"
}
}
2、普通查询接口:
192.168.3.69:8080/visit/callDetail
header参数:
authorization 值为 userid_sessionid (中间是下划线)
93ab22fbf67b4cd4b065d9d69a2d7cc9_2996baaf47c34294a1295626988ce65a
body参数:
{
"tellPhone":"18601386968",
"pageNo":"1",
"pageSize":"10"
}
返回:
{
"code": "0000",
"message": "查询成功",
"content": {
"page": {
"pageNo": 1,
"pageSize": 10,
"count": 6,
"list": [
{
"id": "4531",
"isNewRecord": false,
"updateDate": null,
"user": {
"id": "655a1d19798d433bad4c0f69491070c0",
"isNewRecord": false,
"photoNo": null,
"yuyinUserNo": null
},
"taskId": "249",
"audioUrl": "http://acrtest.vcyber.com:8083/paph_yiren/20180629/181832_018601386968_9a10cff5-4148-4659-9d68-e1a1261fe986.wav",
"taskTemplate": {
"id": "88",
"isNewRecord": false
},
"yuyinCustomerTag": {
"id": "124",
"pageNo": 0,
"pageSize": 0
},
"yuyinUserType": "个人用户",
"taskName": "测试暂停",
"tagids": null,
"taskCreateDate": 1530267341000
}
]
}
}
}
3、AuthorizationInterceptor类为拦截器,参考 spring-mvc.xml中的 <!-- JWT鉴权拦截器 -->配置
4、接口中方法上加注解 @Authorization(value = "callDetail") ,启到拦截作用
5、JWT原理:对登录和注册方法放行,用户名和密码验证正确后,服务端保存到redis缓存并设置有效期,返回给客户端userid和sessionid,
客户端自行保存(Cookie或者 h5的localStorage)。
其他接口统一拦截(header里的参数authorization 值为 userid_sessionid),
服务端到redis根据key:userid 取出根据 sessionid 与接收的客户端 sessionid验证是否一致。