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

In Couchbase Sync Gateway, how to make sure implicit OpenId implicit flow works?

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

为此,我做了一个 POST 到 /{db}/_session,其中 return 我用 SyncGatewaySession id 的 cookie。据我了解,这应该与同步网关 Web 界面中的用户相关联......但是我没有看到创建的用户。

那么,有没有办法查看我使用哪个用户进行复制?

或者确保同步网关正确读取我的 JWT 令牌的方法?

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

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

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

所以。如何将我的 OpenID 用户创建为不同于 GUEST 用户的用户?

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

  1. Id token 必须使用 RS256 编码算法
  2. JWT 提供者使用的 public 密钥必须按照 Sync Gateway config file 中定义的 validation_key 使用。
  3. 要获得 session,必须将 JWT 设置为 POST header,键 Authorization 和值前缀 Bearer
  4. 然后,要自动创建用户,必须在配置文件
  5. 中将 属性 register 设置为 true

纠正了所有这些错误后,我终于正确创建了我的用户和 session,并且正确复制了我的 couchbase lite 数据,即使用户最初并不存在。