InvalidArgumentException stating "You must use a valid URI scheme".

Created on 28 December 2024, 3 months ago

Problem/Motivation

After installation, user permissions, cookies and activation in RestUi, when testing via Postman, I get the following error:

InvalidArgumentException: The URI '/en/password-reset/1/1735354749/HfzJDrVg_QqkrGaxQ6uupWrqeH2U_pzMoIug2f23cAA' is invalid. You must use a valid URI scheme. in Drupal\Core\Url::fromUri() (line 293 of /home/[redacted]/[domain]/backoffice/web/core/lib/Drupal/Core/Url.php).

Happens even if the email is url-encoded.

Steps to reproduce

Make a GET request to url: 'https://[domain]/en/api/user/reset/example@something.com

🐛 Bug report
Status

Active

Version

1.1

Component

User interface

Created by

🇵🇹Portugal bmateus

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

Comments & Activities

  • Issue created by @bmateus
  • 🇵🇹Portugal bmateus

    Here's the backtrace, maybe can help?

    #0 /home/[redacted]/[subdomain-redacted]/backoffice/web/modules/contrib/rest_password_reset/rest_password_reset.tokens.inc(56): Drupal\Core\Url::fromUri()
    #1 [internal function]: rest_password_reset_tokens()
    #2 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/Extension/ModuleHandler.php(416): call_user_func_array()
    #3 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/Extension/ModuleHandler.php(395): Drupal\Core\Extension\ModuleHandler->Drupal\Core\Extension\{closure}()
    #4 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/Extension/ModuleHandler.php(415): Drupal\Core\Extension\ModuleHandler->invokeAllWith()
    #5 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/Utility/Token.php(364): Drupal\Core\Extension\ModuleHandler->invokeAll()
    #6 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/Utility/Token.php(241): Drupal\Core\Utility\Token->generate()
    #7 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/Utility/Token.php(191): Drupal\Core\Utility\Token->doReplace()
    #8 /home/[redacted]/[subdomain-redacted]/backoffice/web/modules/contrib/rest_password_reset/src/Plugin/rest/resource/ResetLink.php(141): Drupal\Core\Utility\Token->replace()
    #9 [internal function]: Drupal\rest_password_reset\Plugin\rest\resource\ResetLink->get()
    #10 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/modules/rest/src/RequestHandler.php(219): call_user_func_array()
    #11 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/modules/rest/src/RequestHandler.php(68): Drupal\rest\RequestHandler->delegateToRestResourcePlugin()
    #12 [internal function]: Drupal\rest\RequestHandler->handle()
    #13 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array()
    #14 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/Render/Renderer.php(638): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
    #15 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(121): Drupal\Core\Render\Renderer->executeInRenderContext()
    #16 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext()
    #17 /home/[redacted]/[subdomain-redacted]/backoffice/vendor/symfony/http-kernel/HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
    #18 /home/[redacted]/[subdomain-redacted]/backoffice/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
    #19 /home/[redacted]/[subdomain-redacted]/backoffice/web/modules/contrib/simple_oauth/src/HttpMiddleware/BasicAuthSwap.php(54): Symfony\Component\HttpKernel\HttpKernel->handle()
    #20 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Drupal\simple_oauth\HttpMiddleware\BasicAuthSwap->handle()
    #21 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
    #22 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
    #23 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(191): Drupal\Core\StackMiddleware\ContentLength->handle()
    #24 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(128): Drupal\page_cache\StackMiddleware\PageCache->fetch()
    #25 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(82): Drupal\page_cache\StackMiddleware\PageCache->lookup()
    #26 /home/[redacted]/[subdomain-redacted]/backoffice/vendor/asm89/stack-cors/src/Cors.php(53): Drupal\page_cache\StackMiddleware\PageCache->handle()
    #27 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Asm89\Stack\Cors->handle()
    #28 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
    #29 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
    #30 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle()
    #31 /home/[redacted]/[subdomain-redacted]/backoffice/web/core/lib/Drupal/Core/DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle()
    #32 /home/[redacted]/[subdomain-redacted]/backoffice/web/index.php(19): Drupal\Core\DrupalKernel->handle()
    #33 {main}
    
  • 🇳🇱Netherlands jb044 Leeuwarden

    You should provide a frontend uri under: /admin/config/services/rest-password-reset

    This is a required setting but it's left intensionally empty on install as it would be hard to guess what the value should be on decoupled websites.

    I could provide a more meaningful error on this particular error condition though.

  • 🇳🇱Netherlands jb044 Leeuwarden
  • 🇵🇹Portugal bmateus

    Ok, my bad. I've solved it.

    Didn't realise there was a doc's page. After reading, all went smoothly.

Production build 0.71.5 2024