Какая польза от guest_token в веселье или рельсах при использовании Devise

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


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