我已经使用RESTHeart和HTTPie通过下一行连接到我的MongoDB:
http PUT 127.0.0.1:8080/myfirstdb desc='this is my first db created with restheart' -a username:password但是我认为直接在命令中使用我的RESTHeart用户名和密码是不安全的。如果不在命令中输入REST用户名和密码,我如何安全地发出此请求?
发布于 2015-08-12 15:05:59
再次引用RestHeart文档:
RESTHeart使用基本身份验证;用户名和密码在每次请求时通过网络发送。使用http侦听器是不安全的:用户凭据可能会被中间人攻击嗅探到。
http://restheart.org/docs/configuration.html
基本身份验证(用户名:密码)似乎是唯一支持的身份验证模式。RestHeart建议设置http的侦听程序,这样您的密码就不会以纯文本形式被嗅探。
发布于 2015-09-09 19:11:22
如果您在命令中省略了密码,httpie将提示您密码。
http PUT 127.0.0.1:8080/myfirstdb desc='this is my first db created with restheart' -a username如果身份验证成功,RESTHeart将返回一个身份验证令牌,您可以将其用作进一步调用的临时密码(它的生存时间可以在配置文件中设置)。
下面是一个响应头的例子:
Auth-Token: 6a81d622-5e24-4d9e-adc0-e3f7f2d93ac7
Auth-Token-Location: /_authtokens/user@si.com
Auth-Token-Valid-Until: 2015-04-16T13:28:10.749Z 因此您可以这样做(请注意用作基本身份验证密码的auth-token ):
http GET 127.0.0.1:8080/myfirstdb restheart' -a username:6a81d622-5e24-4d9e-adc0-e3f7f2d93ac7还要注意,您应该在生产环境中使用https。
有关详细信息,请参阅RESTHeart documentation https://softinstigate.atlassian.net/wiki/x/W4CM的安全部分
https://stackoverflow.com/questions/31957812
复制相似问题