CodecPolicy::class, Category::class => CodecPolicy::class, Icon::class => CodecPolicy::class, SecondIcon::class => CodecPolicy::class, TorrentCustomField::class => CodecPolicy::class, Codec::class => CodecPolicy::class, AudioCodec::class => CodecPolicy::class, Source::class => CodecPolicy::class, Media::class => CodecPolicy::class, Standard::class => CodecPolicy::class, Team::class => CodecPolicy::class, Processing::class => CodecPolicy::class, Plugin::class => CodecPolicy::class, ]; /** * Register any authentication / authorization services. * * @return void */ public function boot() { //some plugin use this guard Auth::viaRequest('nexus-cookie', function (Request $request) { return get_user_from_cookie($request->cookie(), false); }); Auth::extend('nexus-web', function ($app, $name, array $config) { // 返回 Illuminate\Contracts\Auth\Guard 的实例 ... return new NexusWebGuard($app['request'], new NexusWebUserProvider()); }); Auth::viaRequest('passkey', function (Request $request) { $passkey = $request->passkey; if (strlen($passkey) != 32) { return null; } return User::query()->where('passkey', $passkey)->first(); }); } }