MongoLabRESTAPI如何进行身份验证

MongoLabRESTAPI如何进行身份验证,api,rest,mongodb,authentication,mlab,Api,Rest,Mongodb,Authentication,Mlab,Mongolab的其余API很酷。我可以在我的网站上直接使用以下javascript进行分析,这些javascript在Mongolab的支持页面上提供。除非我能理解身份验证的实际工作原理。URL中提到的API键可以被任何查看html源代码的人轻松复制。Mongolab控制面板不为我的网站提供任何注册,这将确保api密钥只有在来自我的域时才会被验证。 这种身份验证是如何工作的 $.ajax( { url: "https://api.mongolab.com/api/1/databases/my-

Mongolab的其余API很酷。我可以在我的网站上直接使用以下javascript进行分析,这些javascript在Mongolab的支持页面上提供。除非我能理解身份验证的实际工作原理。URL中提到的API键可以被任何查看html源代码的人轻松复制。Mongolab控制面板不为我的网站提供任何注册,这将确保api密钥只有在来自我的域时才会被验证。 这种身份验证是如何工作的

$.ajax( { url: "https://api.mongolab.com/api/1/databases/my-db/collections/my-coll?apiKey=myAPIKey",
          data: JSON.stringify( { "x" : 1 } ),
          type: "POST",
          contentType: "application/json" } );

观察力很好,问题也很好

目前,所有API密钥都具有对与用户帐户关联的数据库的读写访问权限,任何拥有API密钥的代理都可以成功发出任何此类请求

正如您所观察到的,这个非常基本的密钥在设计时没有考虑任何细粒度的安全性

然而,我们正在开发一批新的RESTAPI安全特性,正是为了实现这一点


联系我们support@mongolab.com如果您有兴趣讨论详细信息。

您有一个API密钥,用于使用REST API对数据库执行http请求。例如,如果用户想要登录,我会使用如下GET方法发出请求:

然后分析对该请求的响应。它不是世界上最安全的数据库,但它正在变得更好


如果你想了解更多信息,我会在我的博客中讨论:

我想在MongoDB上使用MongoLab服务作为我的第一个AngularJs应用程序,但是MongoLab还没有准备好生产一个需要从前端访问MongoDB的web应用程序

在浏览器网络流量中很容易获得API密钥(见下面的屏幕截图,API密钥是纯文本的),然后任何人都可以完全访问数据库。所以和MongoDB混在一起不会有问题

我还没有找到蒙古拉布的解决办法。目前,我想我会使用另一种服务,比如

我还没有详细尝试过,但是对于一个使用MongoDB的AngularApp来说,它看起来很棒,我需要检查他们是如何实现api的安全性的。从第一个方面看,它似乎正在使用会话令牌来保护对数据库的请求


您似乎在这方面工作了很长时间,虽然我很欣赏开发人员可以通过其他方式自己完成这项工作,但估计的时间范围将非常有用。我很想在规划方面听到更多关于这方面的信息。是否有指向“一批新REST API安全特性”的链接,这样我就可以了解它们的工作原理,并可能与我的2cts进行权衡?有没有更新?如果API不能在客户端使用,那么jquery示例就没有意义。