2017-05-23 25 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精簡版數據正確即使用戶最初不存在也是如此。

相關問題