通过使用 Drupal 的 Session 认证方式,可以很轻松地基于 REST 服务器实现用户认证。这种方式通过管理会话cookie得以实现。不过在通过代码(例如使用 drupal_http_request() 或 curl)实现这项操作时,还需要进行一些额外的工作并手动设置请求头的cookie信息。cookie头看起来是这样的:
Cookie: SESS5913ad7ed2adf92cab1103dad2f5596c=213d28535c6972e16430a4e1e03ce7ea
以上信息由三部分组成:头部标识('Cookie'),会话名称 ('SESS5913ad7ed2adf92cab1103dad2f5596c'),以及会话 ID('213d28535c6972e16430a4e1e03ce7ea')。值得庆幸的是,当你请求 Services 模块提供的 user/login 资源时,会话名和会话ID都会作为响应对象的一部分返回,所以把它组合起来和下一个请求一起发出去非常简单。一旦这样做了,下一个请求将会以授权用户的会 话来执行。