diff --git a/lib/api/composer_packages.rb b/lib/api/composer_packages.rb
index dec3dbb0694085f3042e93872a73cc746fa717ea..7301afd7f4ce8c334b68f78d6735f829355e500c 100644
--- a/lib/api/composer_packages.rb
+++ b/lib/api/composer_packages.rb
@@ -146,7 +146,7 @@ def presenter
 
     resource :projects, requirements: API::NAMESPACE_OR_PROJECT_REQUIREMENTS do
       namespace ':id/packages/composer' do
-        route_setting :authentication, job_token_allowed: :basic_auth, basic_auth_personal_access_token: true, deploy_token_allowed: true
+        route_setting :authentication, job_token_allowed: true, basic_auth_personal_access_token: true, deploy_token_allowed: true
 
         desc 'Composer packages endpoint for registering packages' do
           detail 'This feature was introduced in GitLab 13.1'
diff --git a/spec/requests/api/composer_packages_spec.rb b/spec/requests/api/composer_packages_spec.rb
index 6d1d6a7c4e0df75e26500a55e9cd8ee05d2626cd..d4be97a8ae2babe376ea9c3f7e143a8421062141 100644
--- a/spec/requests/api/composer_packages_spec.rb
+++ b/spec/requests/api/composer_packages_spec.rb
@@ -414,72 +414,36 @@
     subject { post api(url), headers: headers, params: params }
 
     shared_examples 'composer package publish' do
-      context 'with valid project' do
-        context 'with basic auth' do
-          where(:project_visibility_level, :member_role, :token_type, :valid_token, :shared_examples_name, :expected_status) do
-            'PUBLIC'  | :developer | :user | true  | 'Composer package creation'    | :created
-            'PUBLIC'  | :developer | :user | false | 'process Composer api request' | :unauthorized
-            'PUBLIC'  | :developer | :job  | true  | 'Composer package creation'    | :created
-            'PUBLIC'  | :guest     | :user | true  | 'process Composer api request' | :forbidden
-            'PUBLIC'  | :guest     | :user | false | 'process Composer api request' | :unauthorized
-            'PUBLIC'  | :guest     | :job  | true  | 'process Composer api request' | :forbidden
-            'PUBLIC'  | nil        | :user | true  | 'process Composer api request' | :forbidden
-            'PUBLIC'  | nil        | :user | false | 'process Composer api request' | :unauthorized
-            'PUBLIC'  | nil        | :job  | true  | 'process Composer api request' | :forbidden
-            'PUBLIC'  | nil        | nil   | nil   | 'process Composer api request' | :unauthorized # Anonymous User
-            'PRIVATE' | :developer | :user | true  | 'Composer package creation'    | :created
-            'PRIVATE' | :developer | :user | false | 'process Composer api request' | :unauthorized
-            'PRIVATE' | :developer | :job  | true  | 'Composer package creation'    | :created
-            'PRIVATE' | :guest     | :user | true  | 'process Composer api request' | :forbidden
-            'PRIVATE' | :guest     | :user | false | 'process Composer api request' | :unauthorized
-            'PRIVATE' | :guest     | :job  | true  | 'process Composer api request' | :forbidden
-            'PRIVATE' | nil        | :user | true  | 'process Composer api request' | :not_found
-            'PRIVATE' | nil        | :user | false | 'process Composer api request' | :unauthorized
-            'PRIVATE' | nil        | :job  | true  | 'process Composer api request' | :not_found
-            'PRIVATE' | nil        | nil   | nil   | 'process Composer api request' | :unauthorized # Anonymous User
-          end
-
-          with_them do
-            include_context 'Composer api project access', auth_method: :basic, project_visibility_level: params[:project_visibility_level], token_type: params[:token_type], valid_token: params[:valid_token] do
-              it_behaves_like params[:shared_examples_name], member_role: params[:member_role], expected_status: params[:expected_status]
-            end
-          end
-        end
-
-        context 'with token auth' do
-          where(:project_visibility_level, :member_role, :token_type, :valid_token, :shared_examples_name, :expected_status) do
-            'PUBLIC'  | :developer | :user | true  | 'Composer package creation'    | :created
-            'PUBLIC'  | :developer | :user | false | 'process Composer api request' | :unauthorized
-            'PUBLIC'  | :developer | :job  | true  | 'process Composer api request' | :unauthorized # Anonymous User - fallback
-            'PUBLIC'  | :guest     | :user | true  | 'process Composer api request' | :forbidden
-            'PUBLIC'  | :guest     | :user | false | 'process Composer api request' | :unauthorized
-            'PUBLIC'  | :guest     | :job  | true  | 'process Composer api request' | :unauthorized # Anonymous User - fallback
-            'PUBLIC'  | nil        | :user | true  | 'process Composer api request' | :forbidden
-            'PUBLIC'  | nil        | :user | false | 'process Composer api request' | :unauthorized
-            'PUBLIC'  | nil        | :job  | true  | 'process Composer api request' | :unauthorized # Anonymous User - fallback
-            'PUBLIC'  | nil        | nil   | nil   | 'process Composer api request' | :unauthorized # Anonymous User
-            'PRIVATE' | :developer | :user | true  | 'Composer package creation'    | :created
-            'PRIVATE' | :developer | :user | false | 'process Composer api request' | :unauthorized
-            'PRIVATE' | :developer | :job  | true  | 'process Composer api request' | :unauthorized
-            'PRIVATE' | :guest     | :user | true  | 'process Composer api request' | :forbidden
-            'PRIVATE' | :guest     | :user | false | 'process Composer api request' | :unauthorized
-            'PRIVATE' | :guest     | :job  | true  | 'process Composer api request' | :unauthorized
-            'PRIVATE' | nil        | :user | true  | 'process Composer api request' | :not_found
-            'PRIVATE' | nil        | :user | false | 'process Composer api request' | :unauthorized
-            'PRIVATE' | nil        | :job  | true  | 'process Composer api request' | :unauthorized
-            'PRIVATE' | nil        | nil   | nil   | 'process Composer api request' | :unauthorized # Anonymous User
-          end
+      where(:project_visibility_level, :member_role, :token_type, :valid_token, :shared_examples_name, :expected_status) do
+        'PUBLIC'  | :developer | :user | true  | 'Composer package creation'    | :created
+        'PUBLIC'  | :developer | :user | false | 'process Composer api request' | :unauthorized
+        'PUBLIC'  | :developer | :job  | true  | 'Composer package creation'    | :created
+        'PUBLIC'  | :guest     | :user | true  | 'process Composer api request' | :forbidden
+        'PUBLIC'  | :guest     | :user | false | 'process Composer api request' | :unauthorized
+        'PUBLIC'  | :guest     | :job  | true  | 'process Composer api request' | :forbidden
+        'PUBLIC'  | nil        | :user | true  | 'process Composer api request' | :forbidden
+        'PUBLIC'  | nil        | :user | false | 'process Composer api request' | :unauthorized
+        'PUBLIC'  | nil        | :job  | true  | 'process Composer api request' | :forbidden
+        'PUBLIC'  | nil        | nil   | nil   | 'process Composer api request' | :unauthorized # Anonymous User
+        'PRIVATE' | :developer | :user | true  | 'Composer package creation'    | :created
+        'PRIVATE' | :developer | :user | false | 'process Composer api request' | :unauthorized
+        'PRIVATE' | :developer | :job  | true  | 'Composer package creation'    | :created
+        'PRIVATE' | :guest     | :user | true  | 'process Composer api request' | :forbidden
+        'PRIVATE' | :guest     | :user | false | 'process Composer api request' | :unauthorized
+        'PRIVATE' | :guest     | :job  | true  | 'process Composer api request' | :forbidden
+        'PRIVATE' | nil        | :user | true  | 'process Composer api request' | :not_found
+        'PRIVATE' | nil        | :user | false | 'process Composer api request' | :unauthorized
+        'PRIVATE' | nil        | :job  | true  | 'process Composer api request' | :not_found
+        'PRIVATE' | nil        | nil   | nil   | 'process Composer api request' | :unauthorized # Anonymous User
+      end
 
-          with_them do
-            include_context 'Composer api project access', auth_method: :token, project_visibility_level: params[:project_visibility_level], token_type: params[:token_type], valid_token: params[:valid_token] do
-              it_behaves_like params[:shared_examples_name], member_role: params[:member_role], expected_status: params[:expected_status]
-            end
-          end
+      with_them do
+        include_context 'Composer api project access', auth_method: :token, project_visibility_level: params[:project_visibility_level], token_type: params[:token_type], valid_token: params[:valid_token] do
+          it_behaves_like params[:shared_examples_name], member_role: params[:member_role], expected_status: params[:expected_status]
         end
-
-        it_behaves_like 'Composer publish with deploy tokens'
       end
 
+      it_behaves_like 'Composer publish with deploy tokens'
       it_behaves_like 'rejects Composer access with unknown project id'
     end