【问题标题】:What is the use of guest_token in spree or rails while using Devise使用 Devise 时在 spree 或 rails 中 guest_token 的用途是什么
【发布时间】:2015-07-20 12:27:57
【问题描述】:

我正在使用 spree 来构建我的电子商务应用程序。它使用 Devise gem 进行身份验证。每次创建订单时,都会与一个随机的 guest_token 相关联。在我的应用程序中,我使用了一个功能,在进行访客结帐时,我将订单与电子邮件相关联,该功能已经具有 guest_token。主要问题是订单完成后,guest_token 是走得更远,即如果另一个用户登录,那么完成的订单与用户相关联,因为他的 guest_token 和完成的订单 guest_token 是相同的。如果用户登录然后下订单,这不会发生。我在这里做错了什么?为什么 Devise 会生成一个 guest_token 并将其与 spree 中的订单关联?如何摆脱这个?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 devise spree spree-auth-devise


    【解决方案1】:

    这在https://guides.spreecommerce.com/api/orders.html 的文档中说明了以下内容:

    order_token 参数将用于授权 Spree API 中订单的任何操作。

    *注意:order_token == guest_token

    有了这个令牌,我们就可以使用这个 API 请求来获取订单的详细信息,其中:

    http://domainname.com/store/api/orders/R744620229?order_token=deMRSmjCxc5C1cwlkT6-Ow

    • ‘R000000000’ => 订单号
    • 'XXXXSmjCxc5C1cwlkT6-Ow' => 客户订单令牌(也称为 order_token)

    我们还需要在 config/initializers/spree.rb 中添加这一行 Spree::Api::Config[:requires_authentication] = false 以使 API 正常运行。

    【讨论】:

      猜你喜欢
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 2010-09-09
      • 2019-06-13
      • 2015-10-22
      • 2011-05-20
      相关资源
      最近更新 更多