服务仪表板 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 更新服务代理应该可以解决这个问题。