2009-11-13 17 views
10

Rails uygulamasına (farklı bir etki alanında) POST yapmak istediğim başka bir web sitesinde (farklı bir arka uç kullanarak) bir formum var.Dış Formdan POST Alma

  • Rails uygulamasının bunu kabul etmesi için harici form için geçerli bir kimlik doğrulama belirteci nasıl oluştururum?
  • Yukarıdaki sorunun cevabını yapabileceğimi varsayarsak - bu işi yapmak için yapmam gereken özel bir şey var mı? Orijinallik belirtecinden ayrı olarak, geri kalanı benim için oldukça basit görünüyor ...

Yardımın için teşekkürler!

cevap

18

Sen Raylar uygulamasının dışından bir autenticity belirteci oluşturamaz. Yapabilecekleriniz, yalnızca bu eylem için disable the token protection içindir ve bir before_filter'a dayalı özel bir uygulama kullanır.

skip_before_filter :verify_authenticity_token, :only => :my_action 
before_filter :verify_custom_authenticity_token, :only => :my_action 

def verify_custom_authenticity_token 
    # checks whether the request comes from a trusted source 
end 
+0

Güzel. Açıklama için teşekkürler! – neezer

2

Sadece gibi bir filtre ekleyerek işaretini kaldırın olabilir:

skip_before_filter :verify_authenticity_token, :only => :action_name 
+0

Bu beni raylar uygulamasına gönderen kimseye açmaz mı? Bu bir güvenlik meselesi değil mi? – neezer

+0

İstediğiniz diğer doğrulama mekanizmalarını (ip adresi, herneyse) başka bir filtreye ekleyebilirsiniz. – JRL