docs: public Map<String, Object> obtainRequestToken(SocialLoginConfig config, String callbackUrl) {
  
          String endpointUrl = config.getRequestTokenUrl();
          try {
              SocialUtil.validateEndpointWithQuery(endpointUrl);
          } catch (SocialLoginException e) {
              return createErrorResponse("TWITTER_BAD_REQUEST_TOKEN_URL", new Object[] { endpointUrl, TwitterLoginConfigImpl.KEY_requestTokenUrl, config.getUniqueId(), e.getLocalizedMessage() });
          }
  
          // Create the Authorization header string necessary to authenticate the request
          String authzHeaderString = createAuthzHeaderForRequestTokenEndpoint(callbackUrl, endpointUrl);
          if (tc.isDebugEnabled()) {
              Tr.debug(tc, "Authz header string: " + authzHeaderString);
          }
  
          return executeRequest(config, requestMethod, authzHeaderString, endpointUrl, TwitterConstants.TWITTER_ENDPOINT_REQUEST_TOKEN, null);
      }