2009-11-13 22 views
10

Tengo un formulario en otro sitio web (usando un backend diferente) que quiero POSTAR a mi aplicación Rails (en un dominio diferente).Reciba la POST del formulario externo

  • ¿Cómo puedo generar un token de autenticidad válido para el formulario externo para que mi aplicación Rails lo acepte?
  • Suponiendo que puedo responder a la pregunta anterior, ¿hay algo más especial que deba hacer para que esto funcione? Además del token de autenticidad, el resto me parece bastante sencillo ...

¡Gracias por la ayuda!

Respuesta

18

No se puede generar un token de autenticidad de fuera de su aplicación Rails. Lo que puede hacer es disable the token protection solo para esta acción y utilice una implementación personalizada basada en un before_filter.

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

Agradable. ¡Gracias por la aclaración! – neezer

2

Se podía retirar el cheque mediante la adición de un filtro como:

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

¿No me abre esto a alguien que publique en mi aplicación de rieles? ¿No es esto una preocupación de seguridad? – neezer

+0

Puede agregar cualquier otro mecanismo de verificación que desee (dirección IP, lo que sea) en otro filtro, por ejemplo. – JRL

Cuestiones relacionadas