我正在从 Android 应用程序向 Drupal 站点进行 REST 调用。在 Drupal 站点上,我使用 Services 3.0 模块开发 REST 服务,在 Android 上,我使用 Java 库 Restlet 2.0。
首先我调用服务用户/登录,并使用收到的会话 ID 和会话名称将身份验证 cookie 注入到第二个 REST 调用。
但是,当我查看服务的 Drupal 日志时,REST 服务调用基本上有 4 个条目:
- 服务器信息主要对象
- 控制器
- 传递的参数
- 结果
条目 1-3 仍然使用登录用户捕获,但条目 4 已经作为匿名登录,并且服务实现也知道没有登录用户(即变量 $GLOBALS['user'] 没有值)。
“cookie 注入”是进行经过身份验证的调用的正确技术吗?如果是,如何将登录用户保留在 Drupal 端?