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