Каква е употребата на guest_token в spree или rails, докато използвате Devise

Използвам spree, за да създам моето приложение за електронна търговия. То използва Devise gem за удостоверяване. Всеки път, когато се създава поръчка, произволен guest_token се свързва с нея. В моето приложение използвах функционалност, при която свързвам поръчка с имейл, докато правя плащане като гост, което вече има guest_token. Основният проблем е, че след като поръчката бъде завършена, guest_token е ако друг потребител влезе, тогава тази завършена поръчка се свързва с потребителя, тъй като неговият guest_token и завършената поръчка guest_token са еднакви. Това не се случва, ако потребителят влезе и след това направи поръчка. Какво правя грешно тук? Защо Devise генерира guest_token и го свързва с order in spree? Как да се отървем от това?


person Shakthi    schedule 20.07.2015    source източник


Отговори (1)


Това е посочено в документацията тук https://guides.spreecommerce.com/api/orders.html със следното:

Параметърът order_token ще работи за разрешаване на всяко действие за поръчка в API на Spree.

*Забележка: 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.

person sushil10018    schedule 15.02.2016