使用 SAML 的 Web 服务仍然是无状态的吗?

Are Web services with SAML still stateless?

据我了解,Web 服务是无状态的。但是,如果我在将请求传递给服务提供者之前使用 SAML 对服务消费者进行授权,Web 服务是否仍然是无状态的?

这取决于您如何使用 SAML 执行身份验证/授权步骤。有状态服务是指对服务的后续请求取决于第一个请求的结果的服务。典型的服务读取 SAML 断言,提取主题和声明,然后在相同的执行上下文中使用它们进行身份验证或授权。这仍然是无状态的。但是,如果该步骤的结果是跟踪客户端的东西(即 cookie 或其他类型的 state/affinity 机制),那么您的服务是有状态的。

与其说是身份验证协议 (SAML) 或令牌的表示(也是 SAML),不如说是您的服务用它做什么。