2017-05-23 33 views
3

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

为此,我做了一个POST到/{db}/_session,它返回一个包含SyncGatewaySession id的cookie。据我所知,这应该与同步网关网络界面中的用户相关联......但是,我看不到用户创建。

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

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

编辑当我通过设置在我的配置文件中的以下禁用Guest用户,

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

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

所以。我如何让我的OpenID用户创建为来自GUEST的不同用户?

+0

我正在尝试整合它,但它仍然无法创建正确的会话。如果可能,你可以用步骤更新答案吗? – dhaval

+0

@dhaval你最好提出一些关于不起作用的问题 – Riduidel

回答

3

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

  1. ID令牌必须USE RS256编码算法
  2. 由JWT提供商所使用的公共密钥必须被用作Sync Gateway config file定义validation_key
  3. 要获得会话,必须将JWT设置为POST标题,其关键字为Authorization,值前缀为Bearer
  4. 然后,让用户自动创建的,属性register必须在配置文件中

设置为true与所有这些更正的错误,我终于有我的用户和会话创建正确的,我couchbase精简版数据正确即使用户最初不存在也是如此。

相关问题