Для моего внутреннего API-приложения у меня есть Laravel 6 с Laravel Passport oAuth2 плагином. Im my routes/web.php
Я использую Auth::routes();
для создания всех маршрутов oAuth. Мой Nginx config (работает на экземпляре Amazon):
/etc/nginx/conf.d/app.conf
server {
server_name my-app-domain.net;
listen 80;
client_max_body_size 20M;
include /etc/nginx/default.d/*.conf;
root /var/www/app/public;
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html index.php;
location ~ /\. {
deny all;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
error_page 500 502 503 504 /index.php;
location ~* \.(?:ico|css|otf|gif|jpe?g|png)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
root /var/www/app/public;
}
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}
Если я отправлю POST с grant_type
и другими учетными данными для входа в систему http://<domain name>/oauth/token
, я получаю эта странная ОШИБКА:
"Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException Метод GET не поддерживается для этого маршрута. Поддерживаемые методы: POST."
Помимо этого, другие запросы API работают нормально, поэтому, вероятно, это не ограничения CORS
Однако, если я запускаю php artisan serve
и отправляю POST на http://localhost:8080/oauth/token
, он работает как положено