[英]How can I authenticate Vertx MongoClient to a docker with Mongodb and Restheart? Error code 13
[英]How can I securely connect to RESTHeart with a Token
我已经使用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用户名和密码的情况下安全地发出此请求?
再次引用RestHeart文档:
RESTHeart使用基本身份验证; 用户名和密码根据每个请求通过网络发送。 使用http侦听器并不安全:中间人攻击可能会嗅探用户凭据。
http://restheart.org/docs/configuration.html
基本身份验证(username:password)似乎仅是受支持的身份验证模式。 RestHeart建议设置一个http 的侦听器,这样您的密码就不能以纯文本形式出现。
如果您在命令中省略了密码,则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文档的安全性部分https://softinstigate.atlassian.net/wiki/x/W4CM
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.