X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/98036435a54261258faadedeef0675eecfe4ff39..cdff1d7e5eadb611578090585e1e54aae41e7e66:/services/api/app/controllers/arvados/v1/api_client_authorizations_controller.rb diff --git a/services/api/app/controllers/arvados/v1/api_client_authorizations_controller.rb b/services/api/app/controllers/arvados/v1/api_client_authorizations_controller.rb index 83968be752..9c1c5870e7 100644 --- a/services/api/app/controllers/arvados/v1/api_client_authorizations_controller.rb +++ b/services/api/app/controllers/arvados/v1/api_client_authorizations_controller.rb @@ -1,8 +1,15 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + +require 'safe_json' + class Arvados::V1::ApiClientAuthorizationsController < ApplicationController accept_attribute_as_json :scopes, Array - before_filter :current_api_client_is_trusted + before_filter :current_api_client_is_trusted, :except => [:current] before_filter :admin_required, :only => :create_system_auth - skip_before_filter :render_404_if_no_object, :only => :create_system_auth + skip_before_filter :render_404_if_no_object, :only => [:create_system_auth, :current] + skip_before_filter :find_object_by_uuid, :only => [:create_system_auth, :current] def self._create_system_auth_requires_parameters { @@ -15,7 +22,7 @@ class Arvados::V1::ApiClientAuthorizationsController < ApplicationController new(user_id: system_user.id, api_client_id: params[:api_client_id] || current_api_client.andand.id, created_by_ip_address: remote_ip, - scopes: Oj.load(params[:scopes] || '["all"]')) + scopes: SafeJSON.load(params[:scopes] || '["all"]')) @object.save! show end @@ -40,6 +47,11 @@ class Arvados::V1::ApiClientAuthorizationsController < ApplicationController super end + def current + @object = Thread.current[:api_client_authorization] + show + end + protected def default_orders