在哪里可以获取OAuth2的完全同步网关配置示例?

时间:2018-12-24 13:11:21

标签: couchbase couchbase-sync-gateway

我正在使用Auth0设置同步网关。

我的配置是: { "interface":":4984", "log": ["*"], "databases": { "graps": { "username": "sync_gateway", "password": "sync_gateway", "num_index_replicas": 0, "server": "http://couchbase_server:8091", "bucket": "test_bucket", "enable_shared_bucket_access": true, "import_docs": "continuous", "oidc": { "providers": { "Auth0": { "issuer": "https://my_tenant.eu.auth0.com", "client_id": "secret_client_id", "validation_key": "long_validation_key", "register": true } } }, "import_filter": function(doc) { if (doc.type != "mobile") { return false } return true }, "sync": function (doc, oldDoc) { if (doc.sdk) { channel(doc.sdk); } } } } }

我的卷曲请求: function(doc) { if (doc.type != "mobile") { return false } return true }

并同步日志: function (doc, oldDoc) { if (doc.sdk) { channel(doc.sdk); } }

所以,我的问题是:怎么了?为什么要同步 不会将JWT令牌视为oauth会话?

1 个答案:

答案 0 :(得分:1)

对于通过Sync Gateway进行OIDC身份验证,您需要调用GET /{db}/_oidc,这会将您重定向到OIDC提供程序(auth0)进行身份验证。然后,Auth0将使用配置的回调将用户重定向回Sync Gateway。这通常称为“ Open ID Connect”隐式流。

通过CURL进行操作非常棘手,因为您的OpenID提供程序可能具有用于登录的UI。建议通过浏览器执行此操作,或者在移动应用程序中使用网络视图。回调步骤完成后,便会设置会话cookie,您可以继续使用该cookie来使用API​​调用。