@Override
    public void setAttributes(Map<String, String> attributes) {

        // Create independent, mutable copy of attributes
        attributes = new HashMap<>(attributes);

        // Do not allow TOTP secret to be directly manipulated
        attributes.remove(TOTP_KEY_SECRET_ATTRIBUTE_NAME);

        // Reset TOTP status entirely if requested
        String generated = attributes.remove(TOTP_KEY_SECRET_GENERATED_ATTRIBUTE_NAME);
        if (generated != null && !generated.equals(TRUTH_VALUE)) {
            attributes.put(TOTP_KEY_SECRET_ATTRIBUTE_NAME, null);
            attributes.put(TOTP_KEY_CONFIRMED_ATTRIBUTE_NAME, null);
        }

        super.setAttributes(attributes);

    }
Returns the User object wrapped by this TOTPUser.

@return
    The wrapped User object.
extensions/guacamole-auth-totp/src/main/java/org/apache/guacamole/auth/totp/user/TOTPUser.java