Я выполнил все инструкции по настройке аутентификации devise token в моем приложении rails, но сначала я пытаюсь протестировать систему аутентификации с помощью curl, чтобы я знал правильные параметры, которые нужно включить в код реагирующей выборки.
Используя официальные документы для разработки токена устройства, а также другую публикацию stackoverflow (в которой была показана регистрация, но не вход в систему), я смог выяснить, как зарегистрировать пользователя с помощью curl. Регистрация с помощью curl вернула uid, идентификатор клиента и токен доступа, но, согласно документам, вход в систему должен также возвращать эти значения, и я должен иметь возможность хранить их для контроля сеанса.
Это мой локоть (myserver.com
, а myphonenumber
являются местозаполнителями для фактического URL-адреса и номера телефона)
curl -POST -v -H 'Content-Type: application/json' https://myserver.com/auth/sign_in -d '{"email": "test@test.com", "password": "rabbit"}'
, который возвращает следующий ответ:
> POST /auth/sign_in HTTP/1.1
> Host: myserver.com
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 54
>
* upload completely sent off: 54 out of 54 bytes
< HTTP/1.1 200 OK
< Server: nginx/1.6.2
< Date: Tue, 08 May 2018 04:47:02 GMT
< Content-Type: application/json; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< Vary: Accept-Encoding
< X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< ETag: W/"54281896f954d99dcd6989e8e82e7d79"
< Cache-Control: max-age=0, private, must-revalidate
< X-Request-Id: 1f619b39-87d4-44f4-9990-c0804a2a0a74
< X-Runtime: 0.311010
< Front-End-Https: on
<
* Connection #0 to host myserver.com left intact
{"data":{"id":12,"email":"test@test.com","provider":"phone","uid":"test@test.com","name":null,"image":null,"phone_number":"myphonenumber"}}
Я чувствую, что в моем POST могут отсутствовать заголовки или что-то в этом роде ... но вывод, который он мне дает, не дает большой подсказки. Я знаю, что имя и изображение помечены как нулевые, но из того, что я прочитал в документах, не похоже, что они необходимы. Кроме того, обычно я получал 400 неверных запросов, если мне не хватало параметров.