我希望通过其REST API访问Couchbase Server的本地实例。 HTTP GET请求是从Java发送的。
我目前遇到的问题与授权有关。 具体来说,我设法使用Couchbase's Basic Authorization,但只能通过使用Chrome的开发人员工具监控Couchbase浏览器会话并检查请求标题来获取散列凭证(上面链接的示例中的bG9jYWw6dHdlZXRzOnBBc3Mx)。
现在,another Couchbase article提到Couchbase使用符合SCRAM的SHA-1。但是,没有提到如何从Couchbase获得'salt'和'iterations'参数。其中,我假设我需要从凭证转到挑战解决方案(即散列字符串)
所以,问题如下:如何从凭证(user =“local:tweets”,pass =“pAss1”)(从第一个链接的例子)到bG9jYWw6dHdlZXRzOnBBc3Mx?
提前致谢,
托马斯
答案 0 :(得分:0)
SCRAM SHA-1支持仅适用于数据(K / V)服务,仅适用于certain Couchbase SDKs which use the memcached binary protocol。 Java SDK确实支持SCRAM SHA-1。
您似乎使用的REST界面是N1QL的API。这不支持SCRAM SHA auth。
如果您正在寻求提供其他应用程序HTTP访问权限,我的建议是使用Spring Boot等编写一个小型Java应用程序,并从那里使用Java SDK。然后,您可以完全控制在REST界面上如何完成auth。前几天colleague wrote one of these。请注意,即使在这种情况下,Java SDK在运行N1QL查询时也不会使用SCRAM,但您可以将其用作控制点。