feat: 添加 Laravel Sanctum 支持,增强管理员 API 鉴权,更新相关中间件与路由配置
This commit is contained in:
@@ -2,8 +2,11 @@
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Models\AdminUser;
|
||||
use App\Models\Player;
|
||||
use Illuminate\Cache\RateLimiting\Limit;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\RateLimiter;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
@@ -36,5 +39,20 @@ class AppServiceProvider extends ServiceProvider
|
||||
return (string) ($this->attributes->get('lottery_locale')
|
||||
?? config('lottery.locales.fallback', 'en'));
|
||||
});
|
||||
|
||||
Request::macro('lotteryAdmin', function (): ?AdminUser {
|
||||
/** @var Request $this */
|
||||
$v = $this->attributes->get('lottery_admin');
|
||||
|
||||
return $v instanceof AdminUser ? $v : null;
|
||||
});
|
||||
|
||||
RateLimiter::for('admin-auth-captcha', function (Request $request) {
|
||||
return Limit::perMinute(45)->by($request->ip());
|
||||
});
|
||||
|
||||
RateLimiter::for('admin-auth-login', function (Request $request) {
|
||||
return Limit::perMinute(15)->by($request->ip());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user