2017-04-10 1 views
3

warden.authenticate!(auth_options)authentification gardien retour 401

fonctionne bien pour ces params:

{ "UTF8" => "✓", "authenticity_token" => "5BMAUoZLUEgPZBVOAcQ8lFD4 + pumP9kEvvXyelbnjeO36AZJQt2oRlraicQ6quvh/dccS0ELUkxjACgFcWFYAg ==", "utilisateur" => {"email" => "[email protected]", "mot de passe" => "xyz", "phone" => "9443429932"}, "action" => "créer", " controller "=>" sessions ", " format "=>" json "," session "=> {" user "=> {" email "=>" [email protected] ", " mot de passe "=>" xyz "," phone "=>" 944342993 2 "}}}

, mais à défaut de ceux-ci:

{" UTF8 "=>" ✓ », "authenticity_token"=> "/ ly2phwfsD3HEVkHK39ajYQGv6R4uj2z3B + 3eiZEU0qtp7C92IlIM5KvxY0QEY34KSlZdJ + OtvsB6m0FAcKGqw ==", "user" => {"phone" => "9443429932", "mot de passe" => "xyz", "email" => "[email protected]"}, "action" => "créer", " controller "=>" sessions "," format "=>" json ", " session "=> {" user "=> {" phone "=>" 9443429932 "," mot de passe "=>" xyz ", " email "=>" [email protected] "}}}

Les données sont les mêmes dans les deux cas, sauf pour la commande. Collé avec cela pour longtemps.

ici est le journal:

POST Started "https://stackoverflow.com/users/sign_in.json" pour 127.0.0.1 à 2017-04-10 10:53:07 +0530 Le traitement par SessionsController # créer JSON
Paramètres: { "UTF8" => "✓", "authenticity_token" => "XVMbYLTgv4eFbv9pX5lJD3U6DHF17o18rVIjqQLo4skOqB17cHZHidDQY + Nk95562BXqoZLaBjRwp/nWJW43KA ==", "user" => { "téléphone" => "9443429932", "password" = > "[FILTRÉ]"}, "session" => {"user" => {"phone" => "9443429932", "password" => "[FILTRÉ]"}}} Charge de l'utilisateur (0.3ms) SELECT users. * FROM users O WH users. id = 12422916 ET (invitation_token est nul) LIMITE 1 Terminé 401 Unauthorized en 15ms

Répondre

2

trouvé la question. warden lit les paramètres à partir de request.params J'ai modifié les paramètres, mais cela ne se reflétait pas dans request.params.

request.params [: utilisateur] .merge! (Params [: user]) Cela a résolu le problème.