2016-11-18 4 views
0

Devise_auth_token новичок здесь. У меня есть рельсы 5 api только app. Я пытаюсь сделать запросы на api с помощью curl, и мне удалось это сделать успешно, за исключением тех случаев, когда я хочу войти в систему.Какие параметры ожидаются devise_auth_token?

curl -XPOST -H 'Content-Type: application/json' -d '{ "session": { "email":"[email protected]", "password": "password"}}' localhost:3000/auth/sign_in 

Не уверен, что я делаю неправильно. Как я уже сказал, по какой-то причине нет проблем при создании пользователя. При попытке входа в систему я получаю эту ошибку

{"errors":["Invalid login credentials. Please try again."]} 

Любая помощь очень ценится, спасибо.

+0

Вы проверили свой логфилд? – Eric

+0

@ Eric Начато POST "/ auth/sign_in" для :: 1 в 2016-11-18 14:52:41 -0500 Обработка DeviseTokenAuth :: SessionsController # create as */* Параметры: {"session" => {"email" => "[email protected]", "password" => "[FILTERED]"}} Неотправленный параметр: сеанс Завершено 401 Несанкционировано в 1 мс (Просмотров: 0.1ms | ActiveRecord: 0.0ms) – RickD

+0

@ Эрик, который был зарегистрированным результатом запроса, который я сделал. – RickD

ответ

0
curl -v -XPOST -H 'Content-Type: application/json' -d '{ "email":"[email protected]", "password": "password"}' localhost:3000/auth/sign_in 
    * Hostname was NOT found in DNS cache 
    * Trying 127.0.0.1... 
    * Connected to localhost (127.0.0.1) port 3000 (#0) 
    > POST /auth/sign_in HTTP/1.1 
    > User-Agent: curl/7.35.0 
    > Host: localhost:3000 
    > Accept: */* 
    > Content-Type: application/json 
    > Content-Length: 55 
    > 
    * upload completely sent off: 55 out of 55 bytes 
    < HTTP/1.1 200 OK 
    < X-Frame-Options: SAMEORIGIN 
    < X-XSS-Protection: 1; mode=block 
    < X-Content-Type-Options: nosniff 
    < Content-Type: application/json; charset=utf-8 
    < access-token: Bm3FaRpSAjT-EtTrj8Ucww 
    < token-type: Bearer 
    < client: 6XCiYTxcEITVRZItRKFa8w 
    < expiry: 1480750998 
    < uid: [email protected] 
    < ETag: W/"be9091473a08ccf2672b9685eb25caa2" 
    < Cache-Control: max-age=0, private, must-revalidate 
    < X-Request-Id: 4996fb00-a45c-41e4-b30b-c86bc10b24d5 
    < X-Runtime: 0.737506 
    < Transfer-Encoding: chunked 
    < 
    * Connection #0 to host localhost left intact 
    {"data":{"id":1,"email":"[email protected]","provider":"email","uid":"[email protected]","name":null,"nickname":null,"image":null}} 

Использование -v для завитки - это даст вам много подсказок. Комментарий был прав - не помещайте логин/пароль внутри session.

Снип из TL;DR, что вы должны тщательно прочитать:

Заголовки аутентификации состоит из следующих Params: access-token, client, expire, uid

Заголовки аутентификации, необходимые для каждого запроса будут доступны в ответ от предыдущего запроса.