1

電子商取引アプリケーションを構築するために spree を使用しています。認証には Devise gem を使用します。注文が作成されるたびに、ランダムな guest_token がそれに関連付けられます。私のアプリケーションでは、すでに guest_token を持っているゲスト チェックアウトを実行しているときに、注文を電子メールに関連付ける機能を使用しました。主な問題は、注文が完了すると、guest_token がつまり、別のユーザーがログインすると、完了した注文はユーザーに関連付けられます。これは、彼の guest_token と完了した注文の guest_token が同じであるためです。これは、ユーザーがサインインしてから注文した場合には発生しません。なぜDeviseはguest_tokenを生成し、それを注文に関連付けるのですか?これを取り除く方法は?

4

1 に答える 1

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

  • 'R000000000' => 注文番号
  • 'XXXXSmjCxc5C1cwlkT6-Ow' => 注文のゲスト トークン (order_token とも呼ばれる)

API を機能Spree::Api::Config[:requires_authentication] = false させるには、この行も追加する必要があります。config/initializers/spree.rb

于 2016-02-15T11:02:21.613 に答える