diff --git a/engines/dfc_provider/app/controllers/dfc_provider/base_controller.rb b/engines/dfc_provider/app/controllers/dfc_provider/base_controller.rb index 94051ceaac..48b4d0e53c 100644 --- a/engines/dfc_provider/app/controllers/dfc_provider/base_controller.rb +++ b/engines/dfc_provider/app/controllers/dfc_provider/base_controller.rb @@ -36,7 +36,7 @@ module DfcProvider end def current_user - @current_user ||= authorization_control.process + @current_user ||= authorization_control.user end def authorization_control diff --git a/engines/dfc_provider/app/services/dfc_provider/authorization_control.rb b/engines/dfc_provider/app/services/dfc_provider/authorization_control.rb index e0d66ce16c..e6922490c7 100644 --- a/engines/dfc_provider/app/services/dfc_provider/authorization_control.rb +++ b/engines/dfc_provider/app/services/dfc_provider/authorization_control.rb @@ -8,17 +8,14 @@ module DfcProvider @request = request end - def process + def user oidc_user || ofn_user end private def oidc_user - return unless access_token - - decode_token - find_ofn_user + find_ofn_user(decode_token) if access_token end def ofn_user @@ -26,22 +23,15 @@ module DfcProvider end def decode_token - data = JWT.decode( - access_token, - nil, - false - ) - - @header = data.last - @payload = data.first + JWT.decode(access_token, nil, false).first end def access_token @request.headers['Authorization'].to_s.split(' ').last end - def find_ofn_user - Spree::User.where(email: @payload['email']).first + def find_ofn_user(payload) + Spree::User.find_by(email: payload["email"]) end end end diff --git a/engines/dfc_provider/spec/controllers/dfc_provider/catalog_items_controller_spec.rb b/engines/dfc_provider/spec/controllers/dfc_provider/catalog_items_controller_spec.rb index 32ef8cd7b8..90fc66f3e9 100644 --- a/engines/dfc_provider/spec/controllers/dfc_provider/catalog_items_controller_spec.rb +++ b/engines/dfc_provider/spec/controllers/dfc_provider/catalog_items_controller_spec.rb @@ -19,7 +19,7 @@ describe DfcProvider::CatalogItemsController, type: :controller do context 'with an authenticated user' do before do allow_any_instance_of(DfcProvider::AuthorizationControl) - .to receive(:process) + .to receive(:user) .and_return(user) end @@ -83,7 +83,7 @@ describe DfcProvider::CatalogItemsController, type: :controller do context 'without an authenticated user' do it 'returns unauthorized head' do allow_any_instance_of(DfcProvider::AuthorizationControl) - .to receive(:process) + .to receive(:user) .and_return(nil) api_get :index, enterprise_id: 'default' @@ -117,7 +117,7 @@ describe DfcProvider::CatalogItemsController, type: :controller do context 'with an authenticated user' do before do allow_any_instance_of(DfcProvider::AuthorizationControl) - .to receive(:process) + .to receive(:user) .and_return(user) end diff --git a/engines/dfc_provider/spec/controllers/dfc_provider/enterprises_spec.rb b/engines/dfc_provider/spec/controllers/dfc_provider/enterprises_spec.rb index fc5edd4190..b97e2d54f9 100644 --- a/engines/dfc_provider/spec/controllers/dfc_provider/enterprises_spec.rb +++ b/engines/dfc_provider/spec/controllers/dfc_provider/enterprises_spec.rb @@ -18,7 +18,7 @@ describe DfcProvider::EnterprisesController, type: :controller do context 'with an authenticated user' do before do allow_any_instance_of(DfcProvider::AuthorizationControl) - .to receive(:process) + .to receive(:user) .and_return(user) end diff --git a/engines/dfc_provider/spec/controllers/dfc_provider/persons_controller_spec.rb b/engines/dfc_provider/spec/controllers/dfc_provider/persons_controller_spec.rb index dc57a25de8..7ec1a0340e 100644 --- a/engines/dfc_provider/spec/controllers/dfc_provider/persons_controller_spec.rb +++ b/engines/dfc_provider/spec/controllers/dfc_provider/persons_controller_spec.rb @@ -16,7 +16,7 @@ describe DfcProvider::PersonsController, type: :controller do context 'with an authenticated user' do before do allow_any_instance_of(DfcProvider::AuthorizationControl) - .to receive(:process) + .to receive(:user) .and_return(user) end diff --git a/engines/dfc_provider/spec/controllers/dfc_provider/supplied_products_controller_spec.rb b/engines/dfc_provider/spec/controllers/dfc_provider/supplied_products_controller_spec.rb index f5ecb728c3..0e2122991d 100644 --- a/engines/dfc_provider/spec/controllers/dfc_provider/supplied_products_controller_spec.rb +++ b/engines/dfc_provider/spec/controllers/dfc_provider/supplied_products_controller_spec.rb @@ -19,7 +19,7 @@ describe DfcProvider::SuppliedProductsController, type: :controller do context 'with an authenticated user' do before do allow_any_instance_of(DfcProvider::AuthorizationControl) - .to receive(:process) + .to receive(:user) .and_return(user) end