Car*_*mer 5 authentication proxy couchdb
当我向我的couchdb服务器发送一个http请求时,就像在CouchDB代理身份验证文档中显示的那样,它没有给出文档中显示的响应,只是空数据.我究竟做错了什么?
此外,我能够使用此代理身份验证启动会话吗?如果我尝试POST/_session,我会得到500个错误代码.
GET/_session HTTP/1.1
主机:127.0.0.2
:5984 User-Agent:curl/7.51.0
接受:application/json
Content-Type:application/json; charset = utf-8
X-Auth-CouchDB-UserName:john
X-Auth-CouchDB-Roles:blogger<HTTP/1.1 200 OK
<Cache-Control:必须重新验证
<Content-Length:132
<Content-Type:application/json
<Date:Sun,2016年11月6日01:10:58 GMT
<服务器:CouchDB/2.0.0 (Erlang OTP/17)
<{"ok":true,
"userCtx":{"name":null,"roles":[]},
"info":{"authentication_db":"_ users","authentication_handlers": [ "饼干", "默认"]}}
我在CouchDB问题跟踪器中发现代理身份验证在2.0.0版本中已被破坏.该文档或文档未更新以指示它仅适用于群集或其他内容.我改回了1.6.1版本,一切正常.我必须说有关代理身份验证如何工作的文档非常糟糕.
它的工作原理是您需要第三方认证服务器具有"[couch_httpd_auth]秘密",并且当客户端进行认证时,您需要通过组合用户名和密码来生成HMAC-SHA1令牌.然后,在您从客户端到CouchDB服务器的任何http请求中,如果包含所有标头:
X-Auth-CouchDB-RolesX-Auth-CouchDB-UserNameX-Auth-CouchDB-Token该请求将作为用户客户端进行身份验证.
此外,它没有在文档中提及,但POST在/_session使用这些标头的API上什么都不做.
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |