Rails / Devise - Erstellen neuer Benutzer über JSON-Anfrage

10

Ich möchte eine neue Benutzeranmeldung über JSON durchführen, aber ich erhalte einen ungültigen Tokenfehler.

Ich möchte die Fälschungsprüfung nicht für alle Controller machen. Irgendwelche Vorschläge, wie Sie den Registrierungscontroller dazu übersteuern können?

Hier ist mein Code:

%Vor%

Routen:

%Vor%

Ich bekomme einen Fehler:

%Vor%     
user1174995 28.01.2012, 09:15
quelle

3 Antworten

4

Ich kann Sie auf diese Weise nicht ermutigen, weil Ihre App anfällig für CSRF-Angriffe ist.

Eine gute Quelle, um CSRF zu verstehen: Das Authentifizierungs-Token der Rails verstehen

Sie sollten lieber authenticity_token in Ihre POST-Anfrage aufnehmen. Dies wird in einigen Fragen zu SO diskutiert, wie dort (lesen Sie alle Antworten): Schienen - InvalidAuthenticityToken für JSON / XML-Anforderungen

Die Idee:

  1. Abrufen des Tokens mit <%= form_authenticity_token %>

  2. Fügen Sie Ihrer Anfrage mit dem Token einen authenticity_token POST-Parameter hinzu.

Wenn Sie den Parameter durch URI übergeben, vergessen Sie nicht, den Token-Wert zu verschlüsseln:

%Vor%     
Thomas Guillory 28.01.2012 09:49
quelle
0

Sie könnten Ihren eigenen Controller erstellen, der nicht von einem Controller stammt.

%Vor%

Ich denke, Sie haben die Idee. Sie instanziieren Ihren Benutzer genau wie in Rails console . Ich empfehle diese Art von Übung allerdings nicht

    
rpechayr 28.01.2012 09:25
quelle
0

Für Ihren Fehler

  

Routing Fehler nicht initialisierte Konstante   Api :: MobileRegistrationsController

zeigt an, dass sich Ihr Controller nicht im richtigen Ordner befindet. Weil du

benutzt %Vor%

Sie müssen Ihre MobileRegistrations in den Ordner controllers / api stellen. oder Sie können

verwenden %Vor%     
Zitao Xiong 02.04.2013 22:54
quelle

Tags und Links