Couchdb 和代理身份验证
Couchdb and proxy authentication
我已经使用couchdb 很长时间了,我们通过cookies auth 进行身份验证。现在我们想开始测试代理身份验证,但我不太明白它是如何工作的。
我已经激活了它,包括“chttpd / authentication_handlers:”部分中的值“chttpd_auth, proxy_authentication_handler”,但是我如何指示令牌 x 用于用户 y?
我不明白它是如何工作的
我希望有人能帮我举个例子。谢谢。
在 proxy_authentication
中,您正在其他地方进行身份验证。那
其他地方是代理,或者更具体地说是反向代理。
例如,如果您只是使用单个用户并使用 nginx 作为代理来
couchdb
,您在请求传递给 couchdb
之前设置所需的 headers
喜欢:
location / {
# pass to couchdb
proxy_pass http://localhost:5984;
# ... other configurations.
# authentication header
proxy_set_header X-Auth-CouchDB-UserName 'someone';
proxy_set_header X-Auth-CouchDB-Roles '_admin,staff';
proxy_set_header X-Auth-CouchDB-Token 'auth-token';
}
Couchdb 将接受给定 username
和 roles
的请求。 X-Auth-CouchDB-Token
应该是 X-Auth-CouchDB-UserName
的十六进制编码 hmac
,使用配置中 couch_httpd_auth
部分中的 secret
。它不是必需的,除非 proxy_use_secret
是 true
,默认情况下不是这种情况(尽管它应该在生产中使用)。
实际上,您需要创建一个代理服务器来验证 username
(也许有密码)。只有在用户有效后请求才会被通过
与那些 headers 连接到 couchdb。
我已经使用couchdb 很长时间了,我们通过cookies auth 进行身份验证。现在我们想开始测试代理身份验证,但我不太明白它是如何工作的。
我已经激活了它,包括“chttpd / authentication_handlers:”部分中的值“chttpd_auth, proxy_authentication_handler”,但是我如何指示令牌 x 用于用户 y?
我不明白它是如何工作的
我希望有人能帮我举个例子。谢谢。
在 proxy_authentication
中,您正在其他地方进行身份验证。那
其他地方是代理,或者更具体地说是反向代理。
例如,如果您只是使用单个用户并使用 nginx 作为代理来
couchdb
,您在请求传递给 couchdb
之前设置所需的 headers
喜欢:
location / {
# pass to couchdb
proxy_pass http://localhost:5984;
# ... other configurations.
# authentication header
proxy_set_header X-Auth-CouchDB-UserName 'someone';
proxy_set_header X-Auth-CouchDB-Roles '_admin,staff';
proxy_set_header X-Auth-CouchDB-Token 'auth-token';
}
Couchdb 将接受给定 username
和 roles
的请求。 X-Auth-CouchDB-Token
应该是 X-Auth-CouchDB-UserName
的十六进制编码 hmac
,使用配置中 couch_httpd_auth
部分中的 secret
。它不是必需的,除非 proxy_use_secret
是 true
,默认情况下不是这种情况(尽管它应该在生产中使用)。
实际上,您需要创建一个代理服务器来验证 username
(也许有密码)。只有在用户有效后请求才会被通过
与那些 headers 连接到 couchdb。