docs: @SneakyThrows
      protected ModelAndView redirectToApproveView(final J2EContext ctx, final OAuthRegisteredService svc) {
          val callbackUrl = ctx.getFullRequestURL();
          LOGGER.trace("callbackUrl: [{}]", callbackUrl);
  
          val url = new URIBuilder(callbackUrl);
          url.addParameter(OAuth20Constants.BYPASS_APPROVAL_PROMPT, Boolean.TRUE.toString());
          val model = new HashMap<String, Object>();
          model.put("service", svc);
          model.put("callbackUrl", url.toString());
          model.put("serviceName", svc.getName());
          model.put("deniedApprovalUrl", svc.getAccessStrategy().getUnauthorizedRedirectUrl());
  
          prepareApprovalViewModel(model, ctx, svc);
          return getApprovalModelAndView(model);
      }