Single Sign On(以下简称SSO)通常中文描述为单点登录。包括单点登录与单点注销两部分
例如:登录了QQ,则不需要再登录QQ邮箱,QQ空间等
例如:登录了百度网页,则不需要再登录百度地图等
多个应用,只需要登录一次,就是单点登录。
登录的三种方式,一般是:cookie、session、token
其中 cookie 和 session ,是有状态的登录,因为需要记录登录状态(服务器保存登录信息)。通常是利用父域 Cookie 和 共享Session(比如redis)等实现。
token是一种无状态登录(服务器不保存登录信息),每次请求时在 cookie 或 http 参数种携带 token,则服务器只使用私钥校验token的有效性即可判断的登录状态。
JWT
全称: Json Web Token 。JWT 是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。
JWT使用场景:
Authorization (授权) : 这是使用JWT的最常见场景。一旦用户登录,后续每个请求都将包含JWT,允许用户访问该令牌允许的路由、服务和资源。单点登录是现在广泛使用的JWT的一个特性,因为它的开销很小,并且可以轻松地跨域使用。
Information Exchange (信息交换) : 对于安全的在各方之间传输信息而言,JSON Web Tokens无疑是一种很好的方式。因为JWTs可以被签名,例如,用公钥/私钥对,你可以确定发送人就是它们所说的那个人。另外,由于签名是使用头和有效负载计算的,您还可以验证内容没有被篡改。
SSO是指单点登录这一种应用,JWT是一种信息安全标准。
本篇完,还有疑问?留下评论吧