我已经遵循了在rails应用程序中设置devise token auth的所有说明,但首先我尝试使用curl测试auth系统,以便我知道要包含在我的反应获取代码中的正确参数。 / p>
使用官方docs for devise token auth,以及另一个stackoverflow帖子(显示注册但没有登录),我能够弄清楚如何用curl注册用户。注册curl返回了uid,客户端ID和访问令牌,但根据文档,登录也应该返回这些值,我需要能够存储它们以进行会话控制。
这是我的卷曲(myserver.com
,而myphonenumber
是实际网址和电话号码的占位符)
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"}}
我觉得我的帖子可能会丢失标题或其他内容......但是它给我的输出并不能给出很多线索。我知道名称和图像被标记为空,但是从我在文档中看到的内容来看,它看起来并不是必需的。此外,如果我缺少参数,它通常会给我400个错误请求。
答案 0 :(得分:0)
我觉得我的POST可能会丢失标题或其他内容。
此 IS 您的HTTP帖子请求标头:
NSW : 100.0
NT : 70.0
QLD : 99.0
SA : 84.0
VIC : 98.0
WA : 89.0
这是返回的JSON:
> POST /auth/sign_in HTTP/1.1
> Host: myserver.com
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 54