如何用Vue和Koa2实现基于session和token的登录状态验证示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1992个文字,预计阅读时间需要8分钟。
Session 登录与Token 登录的区别:
1.Session 登录是在服务器端生成 session 数据,并发送给客户端的 cookie,客户端携带 cookie 进行请求,服务器端通过 cookie 中的 session_id 来验证用户身份。
2.Token 登录是服务器端生成一个 token 字符串,该字符串包含用户信息,发送给客户端,客户端存储该 token,之后请求时携带该 token,服务器端通过验证 token 的有效性来确认用户身份。
Session 登陆与 Token 登陆的区别
1、Session 登陆是在服务器端生成用户相关 session 数据,发给客户端 session_id 存放到 cookie 中,这样在客户端请求时带上 session_id 就可以验证服务器端是否存在 session 数据,以此完成用户认证。这种认证方式,可以更好的在服务端对会话进行控制,安全性比较高(session_id 随机),但是服务端需要存储 session 数据(如内存或数据库),这样无疑增加维护成本和减弱可扩展性(多台服务器)。 CSRF 攻击一般基于 cookie。另外,如果是原生 app 使用这种服务接口,因为没有浏览器 cookie 功能,所以接入会相对麻烦。
2、基于 token 的用户认证是一种服务端无状态的认证方式,服务端不用存放 token 数据。用户验证后,服务端生成一个 token(hash 或 encrypt)发给客户端,客户端可以放到 cookie 或 localStorage 中,每次请求时在 Header 中带上 token,服务端收到 token,通过验证后即可确认用户身份。
本文共计1992个文字,预计阅读时间需要8分钟。
Session 登录与Token 登录的区别:
1.Session 登录是在服务器端生成 session 数据,并发送给客户端的 cookie,客户端携带 cookie 进行请求,服务器端通过 cookie 中的 session_id 来验证用户身份。
2.Token 登录是服务器端生成一个 token 字符串,该字符串包含用户信息,发送给客户端,客户端存储该 token,之后请求时携带该 token,服务器端通过验证 token 的有效性来确认用户身份。
Session 登陆与 Token 登陆的区别
1、Session 登陆是在服务器端生成用户相关 session 数据,发给客户端 session_id 存放到 cookie 中,这样在客户端请求时带上 session_id 就可以验证服务器端是否存在 session 数据,以此完成用户认证。这种认证方式,可以更好的在服务端对会话进行控制,安全性比较高(session_id 随机),但是服务端需要存储 session 数据(如内存或数据库),这样无疑增加维护成本和减弱可扩展性(多台服务器)。 CSRF 攻击一般基于 cookie。另外,如果是原生 app 使用这种服务接口,因为没有浏览器 cookie 功能,所以接入会相对麻烦。
2、基于 token 的用户认证是一种服务端无状态的认证方式,服务端不用存放 token 数据。用户验证后,服务端生成一个 token(hash 或 encrypt)发给客户端,客户端可以放到 cookie 或 localStorage 中,每次请求时在 Header 中带上 token,服务端收到 token,通过验证后即可确认用户身份。

