InvalidArgumentException: The URI 'authorize' is invalid.

Created on 1 July 2025, about 1 month ago

Problem/Motivation

When we try to save the secret keys we get the following error.

InvalidArgumentException: The URI 'authorize' is invalid. You must use a valid URI scheme. in Drupal\Core\Url::fromUri() (line 293 of core/lib/Drupal/Core/Url.php).

This does not go away when trying to access the url and we have to delete the configuration to remove the WSOD eorr.

However this keeps on happening until we enable and disable the module.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

🐛 Bug report
Status

Active

Version

2.1

Component

Code

Created by

🇮🇳India binnythomas Trivandrum, Kerala, India

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @binnythomas
  • 🇮🇳India binnythomas Trivandrum, Kerala, India
  • 🇺🇸United States papagrande US West Coast

    @binnythomas, thanks for reporting the error, but I'm having trouble reproducing it. Can you provide your versions of Drupal core, the eloqua_api_redux module as well as the full stack trace of the error?

    Also, did this happen on a new site, after a module or core update, or some other change?

  • 🇮🇳India binnythomas Trivandrum, Kerala, India

    We are using Drupal 10.3.8 and Eloqua redux 2.1.0

    Here is the full stack trace.

    #0 /code/web/modules/contrib/eloqua_api_redux/src/Form/Settings.php(206): Drupal\Core\Url::fromUri('authorize', Array)
    #1 /code/web/modules/contrib/eloqua_api_redux/src/Form/Settings.php(120): Drupal\eloqua_api_redux\Form\Settings->accessUrl()
    #2 [internal function]: Drupal\eloqua_api_redux\Form\Settings->buildForm(Array, Object(Drupal\Core\Form\FormState))
    #3 /code/web/core/lib/Drupal/Core/Form/FormBuilder.php(536): call_user_func_array(Array, Array)
    #4 /code/web/core/lib/Drupal/Core/Form/FormBuilder.php(284): Drupal\Core\Form\FormBuilder->retrieveForm('eloqua_api_redu...', Object(Drupal\Core\Form\FormState))
    #5 /code/web/core/lib/Drupal/Core/Controller/FormController.php(73): Drupal\Core\Form\FormBuilder->buildForm(Object(Drupal\eloqua_api_redux\Form\Settings), Object(Drupal\Core\Form\FormState))
    #6 [internal function]: Drupal\Core\Controller\FormController->getContentResult(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\RouteMatch))
    #7 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
    #8 /code/web/core/lib/Drupal/Core/Render/Renderer.php(638): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
    #9 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
    #10 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
    #11 /code/vendor/symfony/http-kernel/HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
    #12 /code/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
    #13 /code/web/modules/contrib/force_password_change/src/Service/ForcePasswordChangeRedirectMiddleware.php(43): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #14 /code/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Drupal\force_password_change\Service\ForcePasswordChangeRedirectMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #15 /code/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #16 /code/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #17 /code/web/core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #18 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #19 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #20 /code/vendor/asm89/stack-cors/src/Cors.php(53): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #21 /code/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Asm89\Stack\Cors->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #22 /code/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #23 /code/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #24 /code/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #25 /code/web/core/lib/Drupal/Core/DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #26 /code/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
    #27 {main}

    We are using the Force Password change module and not sure if that is interfering with this module

  • 🇮🇳India binnythomas Trivandrum, Kerala, India
  • 🇮🇳India binnythomas Trivandrum, Kerala, India

    @papagrande

  • 🇮🇳India binnythomas Trivandrum, Kerala, India

    Quick update.

    I could remove the error by using the following drush command

    drush config:set eloqua_api_redux.settings api_uri 'https://login.eloqua.com/auth/oauth2/'

  • 🇺🇸United States papagrande US West Coast

    @binnythomas, thanks for the additional info and the workaround. That's helpful.

    I'm setting the status to the correct setting as we don't have a merge request to review yet.

  • 🇺🇸United States erindarri

    @binnythomas - I am surprised that you are needing to set the api_uri with drush... it is in the install config. So that makes sense that it would be updated each time that you reinstall the module, but I'm curious what is causing that to get deleted at all.

    @papagrande & @binnythomas - I installed core 10.3.8 and Force Password Reset and set what I thought would be aggressive reset requirements (reset on next page reload). Then I...

    1. Set FPR to require me to reset my password on next page refresh
    2. Go to the Eloqua API settings page
    3. Get redirected to the login page like user/[UID]/edit?destination=/admin/config/services/eloqua_api_redux
    4. Change my password
    5. Get redirected back to eloqua_api_redux settings page
    6. Click save on Eloqua settings

    I haven't been able to replicate this issue.

    @papagrande - I don't think it could be related to eloqua_api_redux_post_update_move_tokens, but is that possible?

Production build 0.71.5 2024