关于LocalStorage中存放token的安全性问题
trust-freedom opened this issue · comments
通过admin用户登录mp.zlt2000.cn后,查看LocalStorage,可以看到两个信息
1、login_user
其中包含了admin管理员加密后的password 以及 很多登录用户相关信息
{
"id": 1,
"createTime": 1510909019000,
"updateTime": 1548229920000,
"username": "admin",
"password": "$2a$10$TJkwVdlpbHKnV45.nBxbgeFHmQRmyWlshg94lFu2rKxVtT2OMniDO",
"nickname": "管理员",
"headImgUrl": "http://file.zlt2000.cn/group1/M00/00/00/rBJttFztYwyABaTaAAaskHJyvCo696.jpg",
"mobile": "18888888888",
"sex": 1,
"enabled": true,
"type": "APP",
"openId": "123",
"roles": [
{
"id": 1,
"createTime": 1510909019000,
"updateTime": 1537321150000,
"code": "ADMIN",
"name": "管理员",
"userId": null
}
],
"roleId": null,
"oldPassword": null,
"newPassword": null,
"permissions": [
"user-btn-add",
"user-list",
"user-roles",
"user-btn-export",
"user-btn-import"
],
"userId": "123",
"accountNonExpired": true,
"accountNonLocked": true,
"credentialsNonExpired": true,
"del": false
}
2、token
其中包含OAuth2的访问令牌、refresh token
{
"access_token": "f80ecd30-fd5f-4597-8416-66092672e78d",
"token_type": "bearer",
"refresh_token": "bab98952-0359-4ec7-9930-2ca3613e3bb8",
"expires_in": 3334,
"scope": "app"
}
疑问:
1、请问将这些重要信息,尤其是加密后的password、token存放在LocalStorage中,如果发生XSS攻击,如何防范??网站安全性如何保障??
2、另外,mp.zlt2000.cn 也使用了cookie,请问仍然是使用cookie与网关上的session关联做会话管理的吗?那么交给前端的OAuth2访问令牌是做什么用的??访问令牌有必要交给浏览器吗??
- 你说得没错,这些用户敏感信息确实不应该放前端储存
- cookie是用于单点登录用的,正常的授权认证用的是token不会使用session