2017-05-31 7 views
0

私のサービスブローカーのカタログエンドポイントでは、私は以下のようにdashboard_clientを定義しました。私サービスダッシュボードアプリケーションサービスダッシュボードOAuthクライアント無効スコープ

"dashboard_client":{ 
    "id":"test-client-id", 
    "secret":"test-client-secret", 
    "redirect_uri":"https://dashboard.cf.myorg.com" 
} 

私はCF Dashboard SSO documentationに規定するのOAuth認証コードグラント・フローを開始するために、上記で定義されたクライアントIDを使用しています。

すべてが最小スコープcloud_controller_service_permissions.readopenidに対するクライアント要求ならば(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 

しかし、(また、ダッシュボードSSOのドキュメントに記載されている)、追加のスコープcloud_controller.readおよび/またはcloud_controller.writeのクライアント要求場合、authorization_endpointはエラーcloud_controller.read is invalid. Please use a valid scope name in the requestでダッシュボードにリダイレクトします。

CFバージョン2.80.0。

何が問題になりますか?

答えて

1

ここはショーストッパーであるUAAでthisラインです:

クライアントの(当局と範囲内になければなりません)当局にcloud_controller.read,cloud_controller.writeを追加し、その後cf update-service-brokerを通じてサービスブローカーの更新はそれを修正する必要があります。

+0

ありがとうございます。 Cloud Controllerはデフォルトで 'openid'と' cloud_controller_service_permissions.read'スコープだけを持つOAuthクライアントを作成します。その後、UAA管理者にクラウドコントローラによって作成されたOAuthクライアントに 'cloud_controller.read'スコープを追加するよう要求しなければなりませんでした。 – Somu

関連する問題