GeoNetAgent, LDAPWeb, server-audit, server-connection
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

39 lines
1.1 KiB

<?php
namespace App\Providers;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider;
use Laravel\Passport\Passport;
class AppServiceProvider extends ServiceProvider
{
public function register(): void
{
//
}
public function boot(): void
{
if (config('app.env') === 'production') {
URL::forceScheme('https');
}
Passport::tokensCan(config('api.scopes'));
RateLimiter::for('login', function (Request $request) {
$username = strtolower(trim((string) $request->input('username', '')));
return Limit::perMinute(20)->by($username !== '' ? 'login:'.$username : 'login-ip:'.$request->ip());
});
RateLimiter::for('audit-beacon', function (Request $request) {
$sessionId = $request->session()->getId();
return Limit::perMinute(180)->by($sessionId !== '' ? 'audit:'.$sessionId : 'audit-ip:'.$request->ip());
});
}
}