-1

我有一个 Drupal 的后端。

使用Drupal Services与之交互。它提供了一个休息服务器。创建了名为'api' 的端点。

以下序列适用于普通浏览器或任何 http 客户端,如邮递员:-

  • example.com/api/login(有效)。
  • api 发回用户数据(令牌、会话 ID、会话名称等)。
  • 此外,我提出的任何请求,我都会将令牌作为 X-CSRF-Token 发送(所有请求都有效)。
  • 我什至可以使用之前收到的令牌注销同一会话。

在离子应用程序中:-

我可以登录,登录后我还将用户数据(令牌、会话数据等)存储在本地存储中。

这是应用程序的区别:-

当我在发出请求时将相同的令牌发送回服务器(比如注销)。

服务器的响应是“用户未登录”。

为什么会这样?

更新 :-

登录后我尝试从服务器获取当前令牌,它与我成功登录后保存的不同。

每次收到不同的令牌。

4

1 回答 1

0

我遇到了同样的问题。问题是我从未设置过 cookie,而 chrome 会自动为我设置。

幸运的是,我找到了这个很棒的网站:

drupalionic.org

有查看演示的链接以及良好的描述和代码。

所以你要做的是: - 登录 - 检索会话数据并设置 cookie - 使用 cookie 数据和标头中的 X-CSRF-Token 执行后续请求

这是一个流程图:

在此处输入图像描述

这对您有帮助吗?

于 2016-03-13T13:47:16.297 回答