diff --git a/app/controllers/api/openid_connect/authorizations_controller.rb b/app/controllers/api/openid_connect/authorizations_controller.rb index 08e3c110f..fcab40d12 100644 --- a/app/controllers/api/openid_connect/authorizations_controller.rb +++ b/app/controllers/api/openid_connect/authorizations_controller.rb @@ -219,8 +219,8 @@ module Api def auth_user_unless_prompt_none! if params[:prompt] == "none" && !user_signed_in? - render json: {error: "login_required", - description: "User must be first logged in when `prompt` is `none`"} + handle_params_error("login_required", + "User must already be logged in when 'prompt' is 'none'") else authenticate_user! end diff --git a/spec/controllers/api/openid_connect/authorizations_controller_spec.rb b/spec/controllers/api/openid_connect/authorizations_controller_spec.rb index 3014b9309..ee60de7c2 100644 --- a/spec/controllers/api/openid_connect/authorizations_controller_spec.rb +++ b/spec/controllers/api/openid_connect/authorizations_controller_spec.rb @@ -141,8 +141,7 @@ describe Api::OpenidConnect::AuthorizationsController, type: :controller do it "should return an interaction required error" do post :new, client_id: client.client_id, redirect_uri: "http://localhost:3000/", response_type: "id_token", scope: "openid", state: 1234, display: "page", prompt: "none" - json_body = JSON.parse(response.body) - expect(json_body["error"]).to match("login_required") + expect(response.location).to match("error=login_required") end end