Не удается помешать Laravel проверять функциональность дросселирования на окружности - PullRequest
0 голосов
/ 08 июня 2018

Использование 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
)

Она работает локально, но на окружности, без сигары -слишком много попыток.

Похоже, что только Cirlci игнорирует любые настройки, относящиеся к регулированию и выполняет свою собственную чертову вещь.

Я пытался изменить все - но единственное, что его останавливаетпроисходит withoutMiddleware, и у него есть другие побочные эффекты, которые я не хочу.

1 Ответ

0 голосов
/ 13 июня 2018

Закончилось исправление этой проблемы с изменением этого решения от 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
...