在身份验证令牌的情况下,客户端发送凭据,接收令牌并在所有后续调用中使用它。服务器需要保存令牌以验证请求。
例如,对于PHP会话,服务器返回会话UID,客户端在每个请求中发送该UID。服务器需要保存会话。
在这两种情况下,服务器都需要保存状态,那么为什么前者被认为是无状态的?
例如,对于PHP会话,服务器返回会话UID,客户端在每个请求中发送该UID。服务器需要保存会话。
在这两种情况下,服务器都需要保存状态,那么为什么前者被认为是无状态的?
$_SESSION['logged_in'] = true
也会将会话转换为身份验证系统。首先,你在这个问题中描述的是会话管理,而不是令牌管理。
SessionIds是由业务系统自己生成的。工作流程与你的问题相同。
而令牌通常是由一个独立的系统生成和管理的,而不是业务系统。当客户端在已经获得令牌后向业务服务器发送后续调用时,业务服务器必须从令牌系统验证令牌。因此,当我们谈论业务系统时,我们说它是无状态的。
此外,在我看来,令牌并不是为了处理身份验证而设计的,而是为了保护重要信息的安全。
参考: