我正在使用 spree 来构建我的电子商务应用程序。它使用 Devise gem 进行身份验证。每次创建订单时,都会与一个随机的 guest_token 相关联。在我的应用程序中,我使用了一个功能,在进行访客结帐时,我将订单与电子邮件相关联,该功能已经具有 guest_token。主要问题是订单完成后,guest_token 是走得更远,即如果另一个用户登录,则该已完成的订单与用户相关联,因为他的 guest_token 和已完成的订单 guest_token 相同。如果用户登录然后下订单,则不会发生这种情况。我在这里做错了什么?为什么 Devise 会生成一个 guest_token 并将其与 spree 中的订单相关联?如何摆脱这个?
1163 次
1 回答
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)
我们还需要添加此行Spree::Api::Config[:requires_authentication] = false
以config/initializers/spree.rb
使 API 正常运行。
于 2016-02-15T11:02:21.613 回答