Просмотр исходного кода

Anon read-token: add an Authorization header to `$http`

Shane Kilkelly 9 лет назад
Родитель
Сommit
34d4d1360f

+ 1 - 0
services/web/app/coffee/Features/Project/ProjectController.coffee

@@ -303,6 +303,7 @@ module.exports = ProjectController =
 					privilegeLevel: privilegeLevel
 					chatUrl: Settings.apis.chat.url
 					anonymous: anonymous
+					anonToken: req._anonToken
 					languages: Settings.languages
 					themes: THEME_LIST
 					maxDocLength: Settings.max_doc_length

+ 1 - 0
services/web/app/coffee/Features/TokenAccess/TokenAccessController.coffee

@@ -61,6 +61,7 @@ module.exports = TokenAccessController =
 							"error adding user to project with readAndWrite token"
 						return next(err)
 					req.params.Project_id = project._id.toString()
+					req._anonToken = token
 					return ProjectController.loadEditor(req, res, next)
 
 

+ 1 - 0
services/web/app/views/project/editor.pug

@@ -118,6 +118,7 @@ block requirejs
 		window.user = data.user;
 		window.csrfToken = "!{csrfToken}";
 		window.anonymous = #{anonymous};
+		window.anonToken = "#{anonToken}";
 		window.maxDocLength = #{maxDocLength};
 		window.trackChangesState = data.trackChangesState;
 		window.showTrackChangesOnboarding = #{!!showTrackChangesOnboarding};

+ 3 - 1
services/web/public/coffee/base.coffee

@@ -17,7 +17,9 @@ define [
 		"ErrorCatcher"
 		"localStorage"
 		"ngTagsInput"
-	]).config ($qProvider, sixpackProvider)->
+	]).config ($qProvider, sixpackProvider, $httpProvider)->
+		if window.anonToken
+			$httpProvider.defaults.headers.common['Authorization'] = window.anonToken
 		$qProvider.errorOnUnhandledRejections(false)
 		sixpackProvider.setOptions({
 			debug: false