使用 cURL 设计身份验证
Devise Authentication using cURL
如何使用 Devise 从终端使用 cURL 在 Rails 应用程序上验证我的 Ruby?
我正在尝试:
curl --user email:password http://domain.bla/api/auth/sign_in
并且正在回复:
The page you were looking for doesn't exist.
这对我有用:
curl -XPOST -v -H 'Content-Type: application/json' http://domain/api/v1/auth/sign_in -d '{"email": "email@domain.com", "password": "password" }
所以我得到了回复(如下所示,只是重要的部分):
< access-token: lW1c60hYkRwAinzUqgLfsQ
< token-type: Bearer
< client: W_xCQuggzNOVeCnNZbjKFw
< expiry: 1426610121
< uid: email@domain.com
然后我可以使用之前从上述请求中获得的客户端和令牌来验证令牌,我是这样做的:
curl -XGET -v -H 'Content-Type: application/json' -H 'access-token: lW1c60hYkRwAinzUqgLfsQ' -H 'client: W_xCQuggzNOVeCnNZbjKFw' -H "uid: email@domain.com" http://domain/api/v1/auth/validate_token
结果:
{"success":true,"data":{"id":3,"provider":"email","uid":"email@domain.com","firstname":null,"lastname":null,"email":"email@domain.com"}}
我发现登录步骤需要包含在 user
字典中,即:
curl -X POST -v -H 'Content-Type: application/json' \
http://somehost.com/users/sign_in -d \
'{"user" : {"email": "some_user@nowhereville.org", "password": "OpenSecret" }}'
这是设计 3.5.4。
如何使用 Devise 从终端使用 cURL 在 Rails 应用程序上验证我的 Ruby?
我正在尝试:
curl --user email:password http://domain.bla/api/auth/sign_in
并且正在回复:
The page you were looking for doesn't exist.
这对我有用:
curl -XPOST -v -H 'Content-Type: application/json' http://domain/api/v1/auth/sign_in -d '{"email": "email@domain.com", "password": "password" }
所以我得到了回复(如下所示,只是重要的部分):
< access-token: lW1c60hYkRwAinzUqgLfsQ
< token-type: Bearer
< client: W_xCQuggzNOVeCnNZbjKFw
< expiry: 1426610121
< uid: email@domain.com
然后我可以使用之前从上述请求中获得的客户端和令牌来验证令牌,我是这样做的:
curl -XGET -v -H 'Content-Type: application/json' -H 'access-token: lW1c60hYkRwAinzUqgLfsQ' -H 'client: W_xCQuggzNOVeCnNZbjKFw' -H "uid: email@domain.com" http://domain/api/v1/auth/validate_token
结果:
{"success":true,"data":{"id":3,"provider":"email","uid":"email@domain.com","firstname":null,"lastname":null,"email":"email@domain.com"}}
我发现登录步骤需要包含在 user
字典中,即:
curl -X POST -v -H 'Content-Type: application/json' \
http://somehost.com/users/sign_in -d \
'{"user" : {"email": "some_user@nowhereville.org", "password": "OpenSecret" }}'
这是设计 3.5.4。