繁体   English   中英

如何使用令牌安全地连接到RESTHeart

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM