现在做web的话就绕不开安全认证这一步,那就先介绍下目前常见的认证方式然后再说关于cookie、session、token的东西。常用的认证方式简单概述如下:
- cookie-session认证方式
出现较早的认证方式,主要形式是浏览器客户端将用户名密码发送给服务器,服务器验证后创建session并发放用于识别用户的sessionID(与用户状态绑定后记录在服务器端),这个sessionID以及一些相关的其他信息就是cookie,cookie随着响应(Set-Cookie)返回给客户端由客户端存储于浏览器,之后客户端的请求都会带上这个cookie,服务端通过cookie来获取Session信息从而进行认证校验。
- Oauth认证方式
Oauth是一种授权机制,主要为第三方应用颁发授权令牌(token),目前有Oauth2.0和Oauth1.0版本,其中Oauth2.0版本的标准是RFC6749,Oauth1.0版本的标准是RFC5849。Oauth2.0的具体介绍可以参考阮一峰|Oauth2.0
- JWT认证方式
JWT的标准是RFC7519。大概原理是客户端经过服务器认证后服务器给客户端返回一个json对象(包含用户信息且加密处理的数据),之后客户端与服务器通信都会带上这个json对象,服务器只通过这个对象来认证用户,也就是说服务器端是无状态的不会保存状态数据了(比如session)。具体可参考阮一峰|JSON Web Token 入门教程