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