【问题标题】:PouchDB+Couchbase+Sync Gateway Cookie authenticationPouchDB+Couchbase+Sync 网关 Cookie 认证
【发布时间】:2016-05-24 16:01:00
【问题描述】:

我有以下场景:

PouchDB 将用户登录信息发送到应用服务器:

POST /api/login
{user:'test', password:'test'}

应用服务器验证进入同步网关:

POST /sync_gateway/_sessions/

获取的 Cookie 正在返回到 Angular 应用程序:

"SyncGatewaySession=89498ca5a159ff086a3cb1da2370eb36249936x5"

问题是如何配置 PouchDB 以使用该 cookie 进行身份验证。

我试过setting cookie header,但没有成功。

将不胜感激任何提示。

【问题讨论】:

  • 有什么解决办法吗?我面临同样的问题。感谢您的帮助。

标签: angularjs cookies couchbase pouchdb couchbase-sync-gateway


【解决方案1】:

通过直接使用 REST API 的身份验证不知何故不适用于后续请求(我遇到了同样的问题)。 请使用 pouchdb-authentication 插件。它工作得很好。这是链接: https://github.com/nolanlawson/pouchdb-authentication

【讨论】:

  • 谢谢。但是与同步网关不兼容,我正在谈论发布到 /_sessions 而同步网关需要 /dbname/_sessions
【解决方案2】:

尝试使用编码的用户名和密码组合设置“身份验证”标头,而不是 cookie 标头。这应该可以解决问题。

【讨论】:

    【解决方案3】:

    使用 admin REST API 创建 sessoin,然后在 Cookie 之外的另一个标头中传递会话,并使用 nginx 将自定义标头作为 cookie 传递给同步网关,如下所示:

    proxy_set_header Cookie "$cookie_SGSession";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多