会话、cookie、JWT、令牌、SSO和OAuth 2.0 - 他们是什么?
这些术语都涉及用户身份管理。当您登录一个网站时,您声明您的身份(识别)。您的身份得到验证(认证),并授予所需的权限(授权)。过去提出了许多解决方案,列表仍在持续增长。

从简单到复杂,这是我对用户身份管理的理解:
WWW-Authenticate是最基本的方法。浏览器会要求您输入用户名和密码。由于无法控制登录生命周期,这种方法今天很少使用。
更细致地控制登录生命周期的是会话cookie。服务器维护会话存储,浏览器保持会话ID。cookie通常仅适用于浏览器,不适合移动应用。
为了解决兼容性问题,可以使用令牌。客户端将令牌发送给服务器,服务器验证该令牌。缺点是令牌需要加密和解密,这可能是耗时的。
JWT是一种表示令牌的标准方式。该信息可以被验证和信任,因为它是数字签名的。由于JWT包含签名,因此不需要在服务器端保存会话信息。
通过使用SSO(单点登录)技术,您只需登录一次就能访问多个网站。这种方式采用CAS(中央认证服务)来管理跨站点的身份信息。
通过使用OAuth 2.0协议,您可以授权一个网站访问您存储在另一个网站上的信息,而无需共享您的登录凭据。