diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js
index c874283274f148b8f1f4acb14a4dc00ddbb48b4c..b7524b3b1429004278e33455084443ed37b6e0ba 100644
--- a/app/assets/javascripts/api.js
+++ b/app/assets/javascripts/api.js
@@ -106,7 +106,8 @@ const Api = {
         'PRIVATE_TOKEN': token,
       },
       type: 'POST',
-      data: data,
+      contentType: "application/json; charset=utf-8",
+      data: JSON.stringify(data),
       dataType: 'json',
     })
       .done(commitData => callback(commitData))
diff --git a/app/assets/javascripts/repo/index.js b/app/assets/javascripts/repo/index.js
index 08975c5799d4ba043be647badf0787eb0e663d58..ed4d1f55cb5f8f81897da66c91b0fa584a056163 100644
--- a/app/assets/javascripts/repo/index.js
+++ b/app/assets/javascripts/repo/index.js
@@ -22,6 +22,7 @@ function initRepo() {
   Store.currentBranch = $("button.dropdown-menu-toggle").attr('data-ref');
   Store.checkIsCommitable();
   Store.projectId = repo.dataset.projectId;
+  Store.tempPrivateToken = repo.dataset.tempToken;
 
   new Vue({
     el: repo,
diff --git a/app/assets/javascripts/repo/repo_commit_section.vue b/app/assets/javascripts/repo/repo_commit_section.vue
index 19994a5675b388038295df1a96821d0e20b71c08..712d245d6d931ee35f3a4fed6daa7828447c9cbc 100644
--- a/app/assets/javascripts/repo/repo_commit_section.vue
+++ b/app/assets/javascripts/repo/repo_commit_section.vue
@@ -31,7 +31,7 @@ const RepoCommitSection = {
       }
       Api.commitMultiple(Store.projectId, payload, (data) => {
         console.log('got back', data);
-      })
+      }, Store.tempPrivateToken);
     }
   },
 
diff --git a/app/assets/javascripts/repo/repo_store.js b/app/assets/javascripts/repo/repo_store.js
index bee14894a50433b3ac06fd29531f65b657acc093..31174eabe41741f8cb456f96d045c8fbc8480b77 100644
--- a/app/assets/javascripts/repo/repo_store.js
+++ b/app/assets/javascripts/repo/repo_store.js
@@ -22,6 +22,7 @@ const RepoStore = {
   defaultTabSize: 100,
   minTabSize: 30,
   tabsOverflow: 41,
+  tempPrivateToken: '',
   activeFile: {
     active: true,
     binary: false,
diff --git a/app/views/projects/tree/_tree_content.html.haml b/app/views/projects/tree/_tree_content.html.haml
index dec0702cbf095431ed754672f9536d27f10dccbf..ede1ae8198a654212c530268ad766256f5dc5e3b 100644
--- a/app/views/projects/tree/_tree_content.html.haml
+++ b/app/views/projects/tree/_tree_content.html.haml
@@ -1,4 +1,4 @@
-#repo{ data: { url: repo_url(@project), 'project-name' => @project.name, refs_url: refs_namespace_project_path(@project.namespace, @project, format: "json"), project_url: namespace_project_path(@project.namespace, @project), project_id: @project.id } }
+#repo{ data: { url: repo_url(@project), 'project-name' => @project.name, refs_url: refs_namespace_project_path(@project.namespace, @project, format: "json"), project_url: namespace_project_path(@project.namespace, @project), project_id: @project.id, temp_token: @current_user.private_token } }
 
 - if can_edit_tree?
   = render 'projects/blob/upload', title: _('Upload New File'), placeholder: _('Upload New File'), button_title: _('Upload file'), form_path: project_create_blob_path(@project, @id), method: :post