diff --git a/examples/producer/dummy-data-producer/check_linux.sh b/examples/producer/dummy-data-producer/check_linux.sh
index 53b37762008d7b426ccb52311c0a641e3656da47..e7301d29fa1f5b022581485886feec7cc99d251b 100644
--- a/examples/producer/dummy-data-producer/check_linux.sh
+++ b/examples/producer/dummy-data-producer/check_linux.sh
@@ -12,7 +12,7 @@ rm -rf files
 
 mkdir files
 
-$@ files 11 4 4 1 2>&1 | grep Rate
+$@ files beamtime_id 11 4 4 1 2>&1 | grep Rate
 
 
 ls -ln files/0.bin | awk '{ print $5 }'| grep 11264
diff --git a/examples/producer/dummy-data-producer/check_windows.bat b/examples/producer/dummy-data-producer/check_windows.bat
index da2b59829a4f1ca31fb394839fd93be41419425b..5cf58de58c450cda14bedba80ff7998a5bccb082 100644
--- a/examples/producer/dummy-data-producer/check_windows.bat
+++ b/examples/producer/dummy-data-producer/check_windows.bat
@@ -2,7 +2,7 @@ SET folder=files
 
 mkdir %folder%
 
-"%1" %folder% 11 4 4 1 2>&1 | findstr "Rate" || goto :error
+"%1" %folder% beamtime_id 11 4 4 1 2>&1 | findstr "Rate" || goto :error
 
 FOR /F "usebackq" %%A IN ('%folder%\0.bin') DO set size=%%~zA
 if %size% NEQ 11264 goto :error
diff --git a/receiver/src/requests_dispatcher.cpp b/receiver/src/requests_dispatcher.cpp
index d5703c87864dbe1222201c3feb62d94abf01dd97..7639027eb8f18dc7ca376d57fc90c75546b4328d 100644
--- a/receiver/src/requests_dispatcher.cpp
+++ b/receiver/src/requests_dispatcher.cpp
@@ -33,6 +33,7 @@ Error RequestsDispatcher::ProcessRequest(const std::unique_ptr<Request>& request
     handle_err = request->Handle(statistics__);
     GenericNetworkResponse generic_response;
     generic_response.error_code = GetNetworkCodeFromError(handle_err);
+    strcpy(generic_response.message, "");
     if (handle_err) {
         log__->Error("error processing request from " + producer_uri_ + " - " + handle_err->Explain());
         strncpy(generic_response.message, handle_err->Explain().c_str(), kMaxMessageSize);
diff --git a/tests/automatic/full_chain/simple_chain/check_linux.sh b/tests/automatic/full_chain/simple_chain/check_linux.sh
index 11c022e52ccfcf5a5eb5d996b34a1ebdb6363e07..b92ce9c97935eff0d7f576fa4dc51975888b825d 100644
--- a/tests/automatic/full_chain/simple_chain/check_linux.sh
+++ b/tests/automatic/full_chain/simple_chain/check_linux.sh
@@ -4,11 +4,11 @@ set -e
 
 trap Cleanup EXIT
 
-broker_database_name=test_run
+beamtime_id=asapo_test
 monitor_database_name=db_test
 proxy_address=127.0.0.1:8400
 
-receiver_folder=/tmp/asapo/receiver/files
+receiver_folder=/tmp/asapo/receiver/files/${beamtime_id}
 
 Cleanup() {
     echo cleanup
@@ -17,15 +17,17 @@ Cleanup() {
     nomad stop receiver
     nomad stop discovery
     nomad stop broker
+    nomad stop authorizer
 #    kill $producerid
-    echo "db.dropDatabase()" | mongo ${broker_database_name}
+    echo "db.dropDatabase()" | mongo ${beamtime_id}
     influx -execute "drop database ${monitor_database_name}"
 }
 
 influx -execute "create database ${monitor_database_name}"
-echo "db.${broker_database_name}.insert({dummy:1})" | mongo ${broker_database_name}
+echo "db.${beamtime_id}.insert({dummy:1})" | mongo ${beamtime_id}
 
 nomad run nginx.nmd
+nomad run authorizer.nmd
 nomad run receiver.nmd
 nomad run discovery.nmd
 nomad run broker.nmd
@@ -34,8 +36,8 @@ sleep 1
 
 #producer
 mkdir -p ${receiver_folder}
-$1 localhost:8400 100 1000 4 0 &
+$1 localhost:8400 ${beamtime_id} 100 1000 4 0 &
 #producerid=`echo $!`
 
 
-$2 ${proxy_address} ${broker_database_name} 2 | grep "Processed 1000 file(s)"
+$2 ${proxy_address} ${beamtime_id} 2 | grep "Processed 1000 file(s)"
diff --git a/tests/automatic/full_chain/simple_chain/check_windows.bat b/tests/automatic/full_chain/simple_chain/check_windows.bat
index 2c6f5291593fc91718a68b81a4415f191bdad4ea..9be98343b3fbd6ed0d9542286dc95ce1bd5d3c85 100644
--- a/tests/automatic/full_chain/simple_chain/check_windows.bat
+++ b/tests/automatic/full_chain/simple_chain/check_windows.bat
@@ -1,11 +1,12 @@
 SET mongo_exe="c:\Program Files\MongoDB\Server\3.6\bin\mongo.exe"
-set broker_database_name=test_run
-SET receiver_folder="c:\tmp\asapo\receiver\files"
+set beamtime_id="asapo_test"
+SET receiver_folder="c:\tmp\asapo\receiver\files\%beamtime_id%"
 set proxy_address="127.0.0.1:8400"
 
-echo db.%broker_database_name%.insert({dummy:1}) | %mongo_exe% %broker_database_name%
+echo db.%beamtime_id%.insert({dummy:1}) | %mongo_exe% %beamtime_id%
 
 c:\opt\consul\nomad run receiver.nmd
+c:\opt\consul\nomad run authorizer.nmd
 c:\opt\consul\nomad run discovery.nmd
 c:\opt\consul\nomad run broker.nmd
 c:\opt\consul\nomad run nginx.nmd
@@ -14,11 +15,11 @@ ping 1.0.0.0 -n 10 -w 100 > nul
 
 REM producer
 mkdir %receiver_folder%
-start /B "" "%1" %proxy_address% 100 1000 4 0
+start /B "" "%1" %proxy_address% %beamtime_id% 100 1000 4 0
 ping 1.0.0.0 -n 1 -w 100 > nul
 
 REM worker
-"%2" %proxy_address% %broker_database_name% 2 | findstr /c:"Processed 1000 file(s)"  || goto :error
+"%2" %proxy_address% %beamtime_id% 2 | findstr /c:"Processed 1000 file(s)"  || goto :error
 
 
 goto :clean
@@ -31,8 +32,9 @@ exit /b 1
 c:\opt\consul\nomad stop receiver
 c:\opt\consul\nomad stop discovery
 c:\opt\consul\nomad stop broker
+c:\opt\consul\nomad stop authorizer
 c:\opt\consul\nomad stop nginx
 rmdir /S /Q %receiver_folder%
-echo db.dropDatabase() | %mongo_exe% %broker_database_name%
+echo db.dropDatabase() | %mongo_exe% %beamtime_id%
 
 
diff --git a/tests/automatic/producer_receiver/check_monitoring/check_linux.sh b/tests/automatic/producer_receiver/check_monitoring/check_linux.sh
index 936ca16de475b8e2a744afa28eb84507862ac532..5f20a5e253f4e21336e0c78a0a7b5c9903c563f0 100644
--- a/tests/automatic/producer_receiver/check_monitoring/check_linux.sh
+++ b/tests/automatic/producer_receiver/check_monitoring/check_linux.sh
@@ -1,8 +1,8 @@
 #!/usr/bin/env bash
 
 database_name=db_test
-mongo_database_name=test_run
-receiver_folder=/tmp/asapo/receiver/files
+beamtime_id=asapo_test
+receiver_folder=/tmp/asapo/receiver/files/${beamtime_id}
 set -e
 
 trap Cleanup EXIT
@@ -12,8 +12,9 @@ Cleanup() {
 	influx -execute "drop database ${database_name}"
     nomad stop receiver
     nomad stop discovery
+    nomad stop authorizer
     nomad stop nginx
-    echo "db.dropDatabase()" | mongo ${mongo_database_name}
+    echo "db.dropDatabase()" | mongo ${beamtime_id}
     rm -rf ${receiver_folder}
 }
 
@@ -21,14 +22,16 @@ mkdir -p ${receiver_folder}
 
 influx -execute "create database ${database_name}"
 
+nomad run authorizer.nmd
 nomad run receiver.nmd
 nomad run discovery.nmd
 nomad run nginx.nmd
 
 sleep 1
 
-$1 localhost:8400 100 112 4  0
+$1 localhost:8400 ${beamtime_id} 100 112 4  0
 
 sleep 1
 
-influx -execute "select sum(n_requests) from statistics" -database=${database_name} -format=json | jq .results[0].series[0].values[0][1] | grep 112
+# should be 116 requests (112 data transfers and 4 authorizations)
+influx -execute "select sum(n_requests) from statistics" -database=${database_name} -format=json  | jq .results[0].series[0].values[0][1] | grep 116
diff --git a/tests/automatic/producer_receiver/transfer_single_file/check_linux.sh b/tests/automatic/producer_receiver/transfer_single_file/check_linux.sh
index d2b4f5f5ae318c4517fa0d5db643dfaf9d9085d9..cfda6bff53c031cca0249aab43d55ac92393b1de 100644
--- a/tests/automatic/producer_receiver/transfer_single_file/check_linux.sh
+++ b/tests/automatic/producer_receiver/transfer_single_file/check_linux.sh
@@ -5,29 +5,31 @@ set -e
 trap Cleanup EXIT
 
 database_name=db_test
-mongo_database_name=test_run
-receiver_folder=/tmp/asapo/receiver/files
+beamtime_id=asapo_test
+receiver_folder=/tmp/asapo/receiver/files/${beamtime_id}
 
 Cleanup() {
 	echo cleanup
 	rm -rf ${receiver_folder}
     nomad stop receiver
     nomad stop discovery
+    nomad stop authorizer
     nomad stop nginx
-    echo "db.dropDatabase()" | mongo ${mongo_database_name}
+    echo "db.dropDatabase()" | mongo ${beamtime_id}
     influx -execute "drop database ${database_name}"
 }
 
 influx -execute "create database ${database_name}"
-echo "db.${mongo_database_name}.insert({dummy:1})" | mongo ${mongo_database_name}
+echo "db.${beamtime_id}.insert({dummy:1})" | mongo ${beamtime_id}
 
+nomad run authorizer.nmd
 nomad run nginx.nmd
 nomad run receiver.nmd
 nomad run discovery.nmd
 
 mkdir -p ${receiver_folder}
 
-$1 localhost:8400 100 1 1  0
+$1 localhost:8400 ${beamtime_id} 100 1 1  0
 
 
 ls -ln ${receiver_folder}/1.bin | awk '{ print $5 }'| grep 102400
diff --git a/tests/automatic/producer_receiver/transfer_single_file/check_windows.bat b/tests/automatic/producer_receiver/transfer_single_file/check_windows.bat
index cb26780f3fa028d4de4f62daf5f57750aca7571d..c069a5930101001cfc7c658fe56b1cfdc1fbc129 100644
--- a/tests/automatic/producer_receiver/transfer_single_file/check_windows.bat
+++ b/tests/automatic/producer_receiver/transfer_single_file/check_windows.bat
@@ -1,11 +1,12 @@
 SET mongo_exe="c:\Program Files\MongoDB\Server\3.6\bin\mongo.exe"
-SET database_name=test_run
-SET receiver_folder="c:\tmp\asapo\receiver\files"
+SET beamtime_id=asapo_test
+SET receiver_folder="c:\tmp\asapo\receiver\files\%beamtime_id%"
 
-echo db.%database_name%.insert({dummy:1})" | %mongo_exe% %database_name%
+echo db.%beamtime_id%.insert({dummy:1})" | %mongo_exe% %beamtime_id%
 
 
 c:\opt\consul\nomad run receiver.nmd
+c:\opt\consul\nomad run authorizer.nmd
 c:\opt\consul\nomad run discovery.nmd
 c:\opt\consul\nomad run nginx.nmd
 
@@ -13,7 +14,7 @@ ping 1.0.0.0 -n 1 -w 100 > nul
 
 mkdir %receiver_folder%
 
-%1 localhost:8400 100 1 1 0
+%1 localhost:8400 %beamtime_id% 100 1 1 0
 
 ping 1.0.0.0 -n 1 -w 100 > nul
 
@@ -30,7 +31,8 @@ exit /b 1
 c:\opt\consul\nomad stop receiver
 c:\opt\consul\nomad stop discovery
 c:\opt\consul\nomad stop nginx
+c:\opt\consul\nomad stop authorizer
 rmdir /S /Q %receiver_folder%
-echo db.dropDatabase() | %mongo_exe% %database_name%
+echo db.dropDatabase() | %mongo_exe% %beamtime_id%
 
 
diff --git a/tests/automatic/settings/receiver.json.tpl.lin b/tests/automatic/settings/receiver.json.tpl.lin
index 8d98fd1abee361de21a2b4de1d87bd2fa20f277b..399449cdd0a67ae7612ded0ddce5d133dc11ec71 100644
--- a/tests/automatic/settings/receiver.json.tpl.lin
+++ b/tests/automatic/settings/receiver.json.tpl.lin
@@ -2,7 +2,8 @@
   "MonitorDbAddress":"localhost:8086",
   "MonitorDbName": "db_test",
   "BrokerDbAddress":"localhost:27017",
-  "BrokerDbName": "test_run",
+  "AuthorizationServer": "localhost:8400/authorizer",
+  "AuthorizationInterval": 10000,
   "ListenPort": {{ env "NOMAD_PORT_recv" }},
   "Tag": "{{ env "NOMAD_ADDR_recv" }}",
   "WriteToDisk":true,
diff --git a/tests/automatic/settings/receiver.json.tpl.win b/tests/automatic/settings/receiver.json.tpl.win
index d4cb5e03853d46bdce0e0fcb19dd7eb016c2ce28..58cacee7c378bb2b5dff3c8f150d62324db112b1 100644
--- a/tests/automatic/settings/receiver.json.tpl.win
+++ b/tests/automatic/settings/receiver.json.tpl.win
@@ -2,7 +2,8 @@
   "MonitorDbAddress":"localhost:8086",
   "MonitorDbName": "db_test",
   "BrokerDbAddress":"localhost:27017",
-  "BrokerDbName": "test_run",
+  "AuthorizationServer": "localhost:8400/authorizer",
+  "AuthorizationInterval": 10000,
   "ListenPort": {{ env "NOMAD_PORT_recv" }},
   "Tag": "{{ env "NOMAD_ADDR_recv" }}",
   "WriteToDisk":true,