public String defer(T session) {
        String identifier = IdentifierGenerator.generateIdentifier();
        sessions.put(identifier, session);
        return identifier;
    }
Defers the Guacamole side of authentication for the user having the
given authentication session such that it may be later resumed through a
call to resume(). If authentication is never resumed, the session will
automatically be cleaned up after it ceases to be valid.

This method will automatically generate a new identifier.

@param session
    The {@link AuthenticationSession} representing the in-progress
    authentication attempt.

@return
    A unique and unpredictable string that may be used to represent the
    given session when calling resume().
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticationSessionManager.java