服务仪表板 OAuth 客户端无效范围
Service Dashboard OAuth client invalid scope
在我的 service broker 的目录端点 中,我定义了一个 dashboard_client
,如下所示。
"dashboard_client":{
"id":"test-client-id",
"secret":"test-client-secret",
"redirect_uri":"https://dashboard.cf.myorg.com"
}
在我的服务仪表板应用程序中,我使用上面定义的客户端 ID 启动 OAuth 授权代码授予流程,如 CF Dashboard SSO documentation 中所述。
如果客户端请求最小范围 cloud_controller_service_permissions.read
和 [=16],一切正常(CF authorization_endpoint
使用授权码重定向到仪表板,仪表板从 token_endpoint
获取访问令牌) =].例如
https://login.cf.myorg.com/oauth/authorize?
response_type=code&
client_id=test-client-id&
scope=openid%20cloud_controller_service_permissions.read&
redirect_uri=https://dashboard.cf.myorg.com/auth
但是,如果客户端请求额外的范围 cloud_controller.read
and/or cloud_controller.write
(在仪表板 SSO 文档中也提到),authorization_endpoint
重定向到仪表板错误 cloud_controller.read is invalid. Please use a valid scope name in the request
.
CF 版本 2.80.0.
知道出了什么问题吗?
这是 UAA 中的 this 行,这是这里的展示塞子:
将 cloud_controller.read,cloud_controller.write
添加到客户端的权限(必须在权限和范围内),然后通过 cf update-service-broker
更新服务代理应该可以解决这个问题。
在我的 service broker 的目录端点 中,我定义了一个 dashboard_client
,如下所示。
"dashboard_client":{
"id":"test-client-id",
"secret":"test-client-secret",
"redirect_uri":"https://dashboard.cf.myorg.com"
}
在我的服务仪表板应用程序中,我使用上面定义的客户端 ID 启动 OAuth 授权代码授予流程,如 CF Dashboard SSO documentation 中所述。
如果客户端请求最小范围 cloud_controller_service_permissions.read
和 [=16],一切正常(CF authorization_endpoint
使用授权码重定向到仪表板,仪表板从 token_endpoint
获取访问令牌) =].例如
https://login.cf.myorg.com/oauth/authorize?
response_type=code&
client_id=test-client-id&
scope=openid%20cloud_controller_service_permissions.read&
redirect_uri=https://dashboard.cf.myorg.com/auth
但是,如果客户端请求额外的范围 cloud_controller.read
and/or cloud_controller.write
(在仪表板 SSO 文档中也提到),authorization_endpoint
重定向到仪表板错误 cloud_controller.read is invalid. Please use a valid scope name in the request
.
CF 版本 2.80.0.
知道出了什么问题吗?
这是 UAA 中的 this 行,这是这里的展示塞子:
将 cloud_controller.read,cloud_controller.write
添加到客户端的权限(必须在权限和范围内),然后通过 cf update-service-broker
更新服务代理应该可以解决这个问题。