Skip to content
Snippets Groups Projects
Commit 243f0608 authored by Guillaume Heurtier's avatar Guillaume Heurtier
Browse files

FEAT #14242 TIME 4:00 fix only office conversion with token

parent 7dad051f
No related branches found
No related tags found
No related merge requests found
...@@ -6,9 +6,10 @@ ...@@ -6,9 +6,10 @@
<onlyoffice> <onlyoffice>
<enabled>true</enabled> <enabled>true</enabled>
<server_uri>onlyoffice.maarchcourrier.com</server_uri> <server_uri>onlyoffice.maarchcourrier.com</server_uri>
<server_port>80</server_port> <server_port>443</server_port>
<server_ssl>false</server_ssl> <server_ssl>true</server_ssl>
<server_secret></server_secret> <server_secret></server_secret>
<server_authorization_header>Authorization</server_authorization_header>
</onlyoffice> </onlyoffice>
<collaboraonline> <collaboraonline>
<enabled>false</enabled> <enabled>false</enabled>
......
...@@ -373,6 +373,7 @@ class OnlyOfficeController ...@@ -373,6 +373,7 @@ class OnlyOfficeController
]; ];
$serverSecret = (string)$loadedXml->onlyoffice->server_secret; $serverSecret = (string)$loadedXml->onlyoffice->server_secret;
$serverAuthorizationHeader = (string)$loadedXml->onlyoffice->server_authorization_header;
$serverSsl = filter_var((string)$loadedXml->onlyoffice->server_ssl, FILTER_VALIDATE_BOOLEAN); $serverSsl = filter_var((string)$loadedXml->onlyoffice->server_ssl, FILTER_VALIDATE_BOOLEAN);
$uri = explode("/", $uri); $uri = explode("/", $uri);
...@@ -386,7 +387,11 @@ class OnlyOfficeController ...@@ -386,7 +387,11 @@ class OnlyOfficeController
$convertUrl = 'http://'; $convertUrl = 'http://';
} }
$convertUrl .= "{$domain}:{$port}"; $convertUrl .= $domain;
if ($port != 80) {
$convertUrl .= ":{$port}";
}
if (!empty($path)) { if (!empty($path)) {
$convertUrl .= '/' . $path; $convertUrl .= '/' . $path;
...@@ -409,7 +414,11 @@ class OnlyOfficeController ...@@ -409,7 +414,11 @@ class OnlyOfficeController
]; ];
$tokenOnlyOffice = JWT::encode($body, $serverSecret, 'HS256', null, $header); $tokenOnlyOffice = JWT::encode($body, $serverSecret, 'HS256', null, $header);
$headers[] = 'Authorization: Bearer ' . $tokenOnlyOffice;
$authorizationHeader = empty($serverAuthorizationHeader) ? 'Authorization' : $serverAuthorizationHeader;
$authorizationHeader .= ': Bearer ' . $tokenOnlyOffice;
$headers[] = $authorizationHeader;
} }
$response = CurlModel::execSimple([ $response = CurlModel::execSimple([
...@@ -451,7 +460,9 @@ class OnlyOfficeController ...@@ -451,7 +460,9 @@ class OnlyOfficeController
return $response->withStatus(401)->withJson(['errors' => 'Token is invalid']); return $response->withStatus(401)->withJson(['errors' => 'Token is invalid']);
} }
CoreController::setGlobals(['userId' => $jwt->userId]); if (!file_exists($jwt->fullFilename)) {
return $response->withStatus(404)->withJson(['errors' => 'Document not found']);
}
$fileContent = file_get_contents($jwt->fullFilename); $fileContent = file_get_contents($jwt->fullFilename);
if ($fileContent === false) { if ($fileContent === false) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment