在Couchbase Sync Gateway中,如何确保隐式OpenId隐式流程有效?

时间:2017-05-23 10:04:12

标签: openid-connect auth0 couchbase-sync-gateway

我正在使用OpenId连接隐式流与Auth0提供程序的应用程序。我已经能够从Auth0获取JWT令牌,现在想要在Couchbase同步网关中启动会话。

为此,我对/{db}/_session发送了一个POST,其中返回了一个SyncGatewaySession个ID的Cookie。根据我的理解,这应该与同步网关Web界面中的用户相关联......但是我看不到用户创建了。

那么,有没有办法查看我用于复制的用户?

还是一种确保同步网关正确读取JWT令牌的方法吗?

编辑当我通过在配置文件中设置以下内容来禁用GUEST用户时,

        "users": {
            "GUEST": {
                "disabled": true,
                "admin_channels": [
                    "*"
                ]
            }
        }

我的OpenId似乎无法访问同步。我想这意味着我在不知不觉中使用了GUEST用户。

因此。如何将我的OpenID用户作为GUEST one的独立用户创建?

1 个答案:

答案 0 :(得分:4)

OpenId Connect隐式流的Couchbase Sync网关文档中存在错误(和缺失点)。

  1. Id令牌必须使用RS256编码算法
  2. JWT提供商使用的公钥必须用作Sync Gateway config file中定义的validation_key
  3. 要获取会话,必须将JWT设置为POST标头,其中包含密钥Authorization和值前缀Bearer
  4. 然后,要自动创建用户,必须在配置文件中将属性register设置为true
  5. 纠正了所有这些错误后,我终于正确创建了我的用户和会话,并正确复制了我的couchbase lite数据,即使用户最初不存在也是如此。