0

我使用spree來構建我的電子商務應用程序。它使用Devise gem進行身份驗證。每次創建訂單時,都會有一個隨機的guest_token與它關聯。在我的應用程序中,我使用了一種功能,在執行客戶結帳時將訂單與電子郵件相關聯,該客戶結帳已具有guest_token。主要問題是一旦訂單完成,guest_token進一步帶走,即如果另一個用戶登錄,那麼完成的訂單與用戶相關聯,因爲他的guest_token和完成的訂單guest_token是相同的。如果用戶登錄並下達訂單,則不會發生這種情況。我在這裏做錯了什麼?爲什麼Devise會生成一個guest_token並將其與spree中的訂單相關聯?如何擺脫它?在使用Devise時,在spree或rails中使用guest_token有什麼用途

回答

0

在這裏,這https://guides.spreecommerce.com/api/orders.html與下面的文檔中表示說:

order_token參數將爲狂歡的API授權範圍內對訂單的任何行動工作。

*注:order_token == guest_token

擁有此令牌,然後允許我們使用它獲取訂單的詳細介紹這個API請求,其中:

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

  • 'R000000000' =>訂單號
  • 'XXXXSmjCxc5C1cwlkT6-Ow'=>訂單的客人標記(也稱爲ord er_token)

我們還需要在config/initializers/spree.rb中添加此行Spree::Api::Config[:requires_authentication] = false 以使API運行。

相關問題