getSupportPlugins(); foreach($plugins as $plugin) { if (PluginManager::instance()->hasPlugin($plugin['name'])) { $this->plugin = $plugin; break; } } if (empty($this->plugin)) { throw new \SystemException('No required plugins found in system'); } } /** * @return string */ public function getModel(): string { return $this->plugin['model']; } public function getResolver(): Plugin { return app($this->plugin['resolver']); } /** * @param $model * @return JWTSubject */ public function resolveModel($model): JWTSubject { return $this->getResolver()->resolve($model); } /** * @return AuthManager */ public function getProvider(): AuthManager { return app($this->plugin['provider']); } /** * @return array */ public function getSupportPlugins(): array { return config('reazzon.jwtauth::plugins'); } }