aboutsummaryrefslogtreecommitdiffhomepage
path: root/application
diff options
context:
space:
mode:
Diffstat (limited to 'application')
-rw-r--r--application/api/ApiMiddleware.php8
1 files changed, 6 insertions, 2 deletions
diff --git a/application/api/ApiMiddleware.php b/application/api/ApiMiddleware.php
index 09ce6445..da730e0c 100644
--- a/application/api/ApiMiddleware.php
+++ b/application/api/ApiMiddleware.php
@@ -107,7 +107,7 @@ class ApiMiddleware
107 */ 107 */
108 protected function checkToken($request) 108 protected function checkToken($request)
109 { 109 {
110 if (! $request->hasHeader('Authorization')) { 110 if (! $request->hasHeader('Authorization') && !isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) {
111 throw new ApiAuthorizationException('JWT token not provided'); 111 throw new ApiAuthorizationException('JWT token not provided');
112 } 112 }
113 113
@@ -115,7 +115,11 @@ class ApiMiddleware
115 throw new ApiAuthorizationException('Token secret must be set in Shaarli\'s administration'); 115 throw new ApiAuthorizationException('Token secret must be set in Shaarli\'s administration');
116 } 116 }
117 117
118 $authorization = $request->getHeaderLine('Authorization'); 118 if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) {
119 $authorization = $_SERVER['REDIRECT_HTTP_AUTHORIZATION'];
120 } else {
121 $authorization = $request->getHeaderLine('Authorization');
122 }
119 123
120 if (! preg_match('/^Bearer (.*)/i', $authorization, $matches)) { 124 if (! preg_match('/^Bearer (.*)/i', $authorization, $matches)) {
121 throw new ApiAuthorizationException('Invalid JWT header'); 125 throw new ApiAuthorizationException('Invalid JWT header');