'boolean', ]; } public static function get(): self { return static::firstOrCreate([]); } public function isConfigured(): bool { return $this->enabled && !empty($this->base_url) && !empty($this->client_id) && !empty($this->client_secret); } public function authorizeUrl(): string { return rtrim($this->base_url, '/') . '/application/o/authorize/'; } public function tokenUrl(): string { return rtrim($this->base_url, '/') . '/application/o/token/'; } public function userInfoUrl(): string { return rtrim($this->base_url, '/') . '/application/o/userinfo/'; } }