openid 隐式流授权用户无法从同步网关 couchbase 中提取
openid implicit flow authorized user cant pull from syncgateway couchbase
大家好,我在本文档中使用 openid implisit 流程 https://docs.couchbase.com/sync-gateway/current/authentication.html#implicit-flow 来授权我的用户和 syncgateway 得到我这个响应
{
"authentication_handlers": [
"default",
"cookie"
],
"ok": true,
"userCtx": {
"channels": {
"!": 1
},
"name": "staging-dialysiscloud.icdgroup.org%2Fids_00000000-0000-0000-0000-100000000000"
}
}
“!”前面的“1”是什么意思?以及如何访问我不希望我的用户限制使用来自 public 频道的其他频道。我应该向 jwt 令牌或同步配置文件添加什么?
我可以推送到我的存储桶,但我也无法通过此 sessionId
从中提取数据
值1
表示映射到public通道的序列(即添加通道时的序列值)。 public 通道在 Sync Gateway 启动时自动创建。在您的案例中,OpenID Connect 身份验证成功,但用户只能访问 public 频道。您可以通过管理员 REST API、配置文件或更新文档时通过同步功能授予 user/role 对一组特定频道或 * 频道的访问权限。
要通过 Admin REST API 授予用户访问一组特定频道的权限,请从您的同步网关 运行:
的终端发出类似下面的命令
http --verbose PUT http://localhost:4985/default/_user/alice admin_channels:='["channel-1", "channel-2"]'
这将授予用户 alice
访问 channel-1
和 channel-2
。
如果您希望用户访问数据库中的所有文档,您可以授予用户访问*
频道的权限。例如,下面的命令将授予用户 bob
访问 *
频道的权限,他将能够访问数据库中的所有文档。
http --verbose PUT http://localhost:4985/default/_user/bob admin_channels:='["*"]'
您可能想用您的用户名更改用户名 bob
,即 staging-dialysiscloud.icdgroup.org%2Fids_00000000-0000-0000-0000-100000000000
。
Note: You need to have httpie
installed to run http commands from
terminal. If you don’t have it already and you're using Mac OS X, just issue
brew install httpie
.
如果您想了解有关访问控制和同步网关通道的更多信息,here 是一个很好的文档。
大家好,我在本文档中使用 openid implisit 流程 https://docs.couchbase.com/sync-gateway/current/authentication.html#implicit-flow 来授权我的用户和 syncgateway 得到我这个响应
{
"authentication_handlers": [
"default",
"cookie"
],
"ok": true,
"userCtx": {
"channels": {
"!": 1
},
"name": "staging-dialysiscloud.icdgroup.org%2Fids_00000000-0000-0000-0000-100000000000"
}
}
“!”前面的“1”是什么意思?以及如何访问我不希望我的用户限制使用来自 public 频道的其他频道。我应该向 jwt 令牌或同步配置文件添加什么?
我可以推送到我的存储桶,但我也无法通过此 sessionId
值1
表示映射到public通道的序列(即添加通道时的序列值)。 public 通道在 Sync Gateway 启动时自动创建。在您的案例中,OpenID Connect 身份验证成功,但用户只能访问 public 频道。您可以通过管理员 REST API、配置文件或更新文档时通过同步功能授予 user/role 对一组特定频道或 * 频道的访问权限。
要通过 Admin REST API 授予用户访问一组特定频道的权限,请从您的同步网关 运行:
的终端发出类似下面的命令http --verbose PUT http://localhost:4985/default/_user/alice admin_channels:='["channel-1", "channel-2"]'
这将授予用户 alice
访问 channel-1
和 channel-2
。
如果您希望用户访问数据库中的所有文档,您可以授予用户访问*
频道的权限。例如,下面的命令将授予用户 bob
访问 *
频道的权限,他将能够访问数据库中的所有文档。
http --verbose PUT http://localhost:4985/default/_user/bob admin_channels:='["*"]'
您可能想用您的用户名更改用户名 bob
,即 staging-dialysiscloud.icdgroup.org%2Fids_00000000-0000-0000-0000-100000000000
。
Note: You need to have
httpie
installed to run http commands from terminal. If you don’t have it already and you're using Mac OS X, just issuebrew install httpie
.
如果您想了解有关访问控制和同步网关通道的更多信息,here 是一个很好的文档。