Я использую spree для создания своего приложения для электронной коммерции. Он использует гем Devise для аутентификации. Каждый раз, когда создается заказ, с ним связывается случайный guest_token. В моем приложении я использовал функцию, в которой я связываю заказ с электронной почтой при выполнении гостевой проверки, которая уже имеет guest_token. Основная проблема заключается в том, что после завершения заказа guest_token увлекся дальше, т.е. если другой пользователь входит в систему, то этот завершенный заказ связан с пользователем, поскольку его guest_token и завершенный заказ guest_token одинаковы. Этого не происходит, если пользователь входит в систему, а затем размещает заказ. Что я здесь делаю неправильно? Почему Devise генерирует guest_token и связывает его с порядком в веселье? Как от этого избавиться?
Какая польза от guest_token в веселье или рельсах при использовании Devise
Ответы (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