类似REST的API:如何识别客户端?

时间:2017-03-13 13:46:56

标签: php rest session https

我正在开发一个严重依赖于根据REST原则设计的Web服务的系统。连接是通过HTTPS连接的,我的问题是找到一种识别客户端的好方法。有几个不同公司的用户有几种不同的访问级别。

后端/中间件是用PHP编写的,到目前为止,我已经使用$ _SESSION来识别用户。

在阅读了有关REST服务的更多信息后,我了解到REST服务应该是无状态的,每次调用都应提供处理该调用所需的所有信息。我将此解释为服务器不应维护与特定客户端相关的任何状态。

问题:

  1. 这是否意味着使用$ _SESSION [some_identifier]来保持调用之间的状态并不符合REST风格?

  2. 我现在正在考虑使用“短命令牌”逻辑。在每个请求上与服务器交换此令牌,并且服务器在每个请求的回复中提供新令牌。这种方法更加RESTful吗?

1 个答案:

答案 0 :(得分:0)

您应该使用Authorization HTTP标头,由各种HTTP身份验证系统(如Basic,OAuth2或您自己的专有扩展程序)使用。