docs: protected Response register(Object principal, String password, Object extraData) throws Exception {
          Config config = configBean.getConfig();
  
          Object user = config.getAuthenticationDAO().getUserByPrincipal(session, config.getStoredProcedureProxyFactory(), principal);
          if (user == null) {
              String salt = generateRandomCode(config.getPasswordSaltLength());
              String hash = calculateHash(config, password, salt);
              config.getAuthenticationDAO().addNewUser(session, config.getStoredProcedureProxyFactory(), principal, hash, salt, extraData);
              return ok();
          } else {
              return handleUserAlreadyExists(principal);
          }
      }