public boolean authenticate(
      OpenIdUser user,
      HttpServletRequest request,
      HttpServletResponse response,
      String trustRoot,
      String realm,
      String returnTo)
      throws IOException {
    UrlEncodedParameterMap params = getAuthUrlMap(user, trustRoot, realm, returnTo);

    _listener.onPreAuthenticate(user, request, params);

    _manager.saveUser(user, request, response);

    _authRedirection.redirect(params, request, response);

    return true;
  }