Ich mache ein PUT "/api/shipments/H10372375236/ready_for_pickup"
, aber das hält in Spree::BaseController#authenticate_user
. Meine PUT-Anfrage enthält keine X-Spree-Token-Header wie BaseController#api_key erforderlichWie vermeide ich 401 (nicht autorisiert) beim Erstellen eines neuen API-Endpunkt für Solidus/Spree?
Dies ist der Code für meine Taste ist:
<%= form_tag(spree.api_ready_for_pickup_path(shipment), { method: "PUT", remote: true, id: "admin-ship-shipment" }) do %>
<%= submit_tag Spree.t(:ready_for_pickup), class: "ship-shipment-button" %>
<% end %>
Dies ist meine Routen:
Spree::Core::Engine.routes.draw do
namespace :api, defaults: { format: 'json' } do
put '/shipments/:id/ready_for_pickup' => 'shipments#ready_for_pickup', as: :ready_for_pickup
end
end
Rails.application.routes.draw do
mount Spree::Core::Engine, :at => '/'
end
rake routes
verfügbar als Gist here. Ich habe einen API-Schlüssel für den aktuellen Benutzer in der Admin-Schnittstelle erstellt. Wie stelle ich sicher, dass die PUT-Anfrage das fehlende X-Spree-Token enthält?
'auth_token' ist nicht in' Spree :: Api :: ShipmentsController' – martins
Hier 'auth_token' ist mit "X-Spree-Token" ersetzt werden;) – born4new
Ja, aber, wie ich schreibe Im ersten Post habe ich kein X-Spree-Token. :-( – martins