/**
  * Catch the non-ajax submission from the new form.
  *
  * This executes during the `personal_options_update` & `edit_user_profile_update` actions.
  *
  * @since 0.1-dev
  *
  * @access public
  * @static
  *
  * @param int $user_id User ID.
  */
 public static function catch_submission($user_id)
 {
     if (!empty($_REQUEST['do_new_security_key'])) {
         check_admin_referer("user_security_keys-{$user_id}", '_nonce_user_security_keys');
         try {
             $response = json_decode(stripslashes($_POST['u2f_response']));
             $reg = Two_Factor_FIDO_U2F::$u2f->doRegister(get_user_meta($user_id, self::REGISTER_DATA_USER_META_KEY, true), $response);
             $reg->new = true;
             Two_Factor_FIDO_U2F::add_security_key($user_id, $reg);
         } catch (Exception $e) {
             return false;
         }
         delete_user_meta($user_id, self::REGISTER_DATA_USER_META_KEY);
         wp_safe_redirect(add_query_arg(array('new_app_pass' => 1), wp_get_referer()) . '#security-keys-section');
         exit;
     }
 }