1 ŞUBAT 2011, Salı
Uzanan SessionsController JSON kullanarak kimlik doğrulaması için Hazırlamak
Bir iphone uygulaması için raylar API oluşturmaya çalışıyorum. Vasiyet ince işleri için oturumları ile web arayüzü ama ihtiyacım var etmek, yaratmak ve yok etmek oturumları kullanarak REST API ve kullanmak istiyorum JSON yerine sahip bir YAZI oturumları ve denetleyici olması için ayrıştırma HTML ve anlaşma ile bir yönlendirme.
Böyle bir şey yapabileceğimi düşündüm:
class Api::V1::SessionsController < Devise::SessionsController
def create
super
end
def destroy
super
end
end
ve config/güzergah.rb ekledi:
namespace :api do
namespace :v1 do
resources :sessions, :only => [:create, :destroy]
end
end
komisyon yollar yollar düzgün Kur gösteriyor:
api_v1_sessions POST /api/v1/sessions(.:format) {:action=>"create", :controller=>"api/v1/sessions"}
api_v1_session DELETE /api/v1/sessions/:id(.:format) {:action=>"destroy", :controller=>"api/v1/sessions"}
I /kullanıcı/seans SONRASI ne zaman her şey gayet iyi çalışıyor. Bazı HTML ve 302.
Şimdi eğer ben /ben/: apı POST
Bilinmeyen eylem ::AbstractController ActionNotFound
curl -v -H 'Content-Type: application/json' -H 'Accept: application/json' -X POST http://localhost:3000/api/v1/sessions -d "{'user' : { 'login' : 'test', 'password' : 'foobar'}}"
CEVAP
12 ŞUBAT 2011, CUMARTESİ
Bu sonunda işe yaradı.
class Api::V1::SessionsController < Devise::SessionsController
def create
respond_to do |format|
format.html { super }
format.json {
warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#new")
render :status => 200, :json => { :error => "Success" }
}
end
end
def destroy
super
end
end
Ayrıca değiştirme yolları.rb, sırası önemli olduğunu unutmayın.
devise_for :users, :controllers => { :sessions => "api/v1/sessions" }
devise_scope :user do
namespace :api do
namespace :v1 do
resources :sessions, :only => [:create, :destroy]
end
end
end
resources :users
Bunu Paylaş:
Form tabanlı kimlik doğrulaması için k...
Nasıl ayrıştırma kullanarak Node.js JS...
Ayrıca güvenli bir web hizmetine erişi...
node.js kimlik doğrulaması için Kullan...
numarasını: ÖNEMLİ: kullanıcı "is...