public function connect_clef_account() { if (ClefUtils::isset_GET('connect_clef_account') && ClefUtils::isset_get('code')) { try { $info = ClefUtils::exchange_oauth_code_for_info(ClefUtils::isset_GET('code'), $this->settings); $result = ClefUtils::associate_clef_id($info->id); if (is_wp_error($result)) { $this->connect_error = $result; } else { $session = ClefSession::start(); $session->set('logged_in_at', time()); return; } } catch (LoginException $e) { $this->connect_error = new WP_Error("bad_oauth_exchange", $e->getMessage()); } catch (ClefStateException $e) { $this->connect_error = new WP_Error("bad_state_parameter", $e->getMessage()); } } }