|
54 | 54 | use DBA\User; |
55 | 55 | use DBA\Factory; |
56 | 56 | use JimTools\JwtAuth\Handlers\BeforeHandlerInterface; |
| 57 | +use JimTools\JwtAuth\Rules\RequestMethodRule; |
57 | 58 | use JimTools\JwtAuth\Rules\RequestPathRule; |
58 | 59 | use Psr\Http\Message\ServerRequestInterface; |
59 | 60 |
|
@@ -152,7 +153,8 @@ public function get($key): string { |
152 | 153 | ); |
153 | 154 |
|
154 | 155 | $rules = [ |
155 | | - new RequestPathRule(ignore: ["/api/v2/auth/token", "/api/v2/helper/resetUserPassword", "/api/v2/openapi.json"]) |
| 156 | + new RequestPathRule(ignore: ["/api/v2/auth/token", "/api/v2/helper/resetUserPassword", "/api/v2/openapi.json"]), |
| 157 | + new RequestMethodRule(ignore: ["OPTIONS"]) |
156 | 158 | ]; |
157 | 159 | return new JwtAuthentication($options, $decoder, $rules); |
158 | 160 | }); |
@@ -207,9 +209,10 @@ public static function addCORSheaders(Request $request, $response) { |
207 | 209 | $methods = $routingResults->getAllowedMethods(); |
208 | 210 | $requestHeaders = $request->getHeaderLine('Access-Control-Request-Headers'); |
209 | 211 |
|
210 | | - if (getenv('HASHTOPOLIS_FRONTEND_URLS') !== false) { |
211 | | - if(in_array($request->getHeaderLine('HTTP_ORIGIN'), explode(',', getenv('HASHTOPOLIS_FRONTEND_URLS')), true)) { |
212 | | - $response = $response->withHeader('Access-Control-Allow-Origin', $request->getHeaderLine('HTTP_ORIGIN')); |
| 212 | + $frontend_urls = getenv('HASHTOPOLIS_FRONTEND_URLS'); |
| 213 | + if ($frontend_urls !== false) { |
| 214 | + if(in_array($request->getHeaderLine('Origin'), explode(',', $frontend_urls), true)) { |
| 215 | + $response = $response->withHeader('Access-Control-Allow-Origin', $request->getHeaderLine('Origin')); |
213 | 216 | } |
214 | 217 | else { |
215 | 218 | error_log("CORS error: Allow-Origin doesn't match. Please make sure to include the used frontend in the .env file."); |
|
0 commit comments