Использование Laravel 5.6
Я не хочу использовать withoutMiddleware
— Вместо этого я пытаюсь изменить настройки газа по умолчанию, но, похоже, ничего не работает.
'api' => [
'throttle:60,1',
'auth:api',
],
Изменение числа дросселей, кажется, абсолютно ничего не делает.
Ошибка всегда:
(
[message] => Too Many Attempts.
[exception] => Symfony\Component\HttpKernel\Exception\HttpException
[file] => /root/laravel/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php
[line] => 120
)
Он работает локально, но на кружках нет сигар — слишком много попыток.
Похоже, что только circlci игнорирует любые настройки, связанные с регулированием и выполнением своих собственных задач.
Я пытался изменить все — но единственное, что останавливает это, — withoutMiddleware
и у этого есть другие побочные эффекты, которые я не хочу.
Закончилось исправить это с вариацией на это решение с GitHub.
Создана переменная среды в .env
:
OAUTH_TOKEN_MAX_ATTEMPTS='60,1'
Затем добавил следующее App\Providers\RouteServiceProvider
:
/**
* Define the routes for the application.
*
* @return void
*/
public function map()
{
$this->mapApiRoutes();
$this->mapWebRoutes();
$oauthMaxAttemtps = env('OAUTH_TOKEN_MAX_ATTEMPTS', '60,1');
Route::post('/oauth/token', [
'uses' => '\Laravel\Passport\Http\Controllers\AccessTokenController@issueToken',
'middleware' => "throttle:$oauthMaxAttemtps",
]);
}
и в .circlci / cofig.yml:
jobs:
build:
docker:
- image: weengsteam/php7.1-mysql-5.7
working_directory: ~/laravel
environment:
APP_NAME: API
APP_ENV: testing
APP_KEY: base64:pLeAsEdOnTcOmEaNdStEaLmYdAtA?=
APP_DEBUG: true
DB_CONNECTION: mysql
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_DATABASE: testing
DB_USERNAME: laravel
DB_PASSWORD: not-a-secret
OAUTH_TOKEN_MAX_ATTEMPTS: 600,1
Других решений пока нет …