Oauth authentication problem: invalid_grant - The PKCE `code_verifier` does not meet the specification

Hello!
I’m trying to authenticate with Asana from a Laravel appplication.
I’m following this example: Asana

I can send a user to oauth_authorize, the user is redirected to the redirect_uri but whem the app sends request to oauth_token I get the error: HTTP request returned status code 400: { “error”: “invalid_grant”, “error_description”: "The PKCE code_verifier does not meet the specification.

The full response is:

Illuminate\Http\Client\Response {#301 ▼
  #response: GuzzleHttp\Psr7\Response {#337 ▶}
  #decoded: null
  +"cookies": GuzzleHttp\Cookie\CookieJar {#318 ▼
    -cookies: array:2 [▶]
    -strictMode: false
  }
  +"transferStats": GuzzleHttp\TransferStats {#338 ▼
    -request: GuzzleHttp\Psr7\Request {#331 ▼
      -method: "POST"
      -requestTarget: null
      -uri: GuzzleHttp\Psr7\Uri {#319 ▼
        -scheme: "https"
        -userInfo: ""
        -host: "app.asana.com"
        -port: null
        -path: "/-/oauth_token"
        -query: ""
        -fragment: ""
        -composedComponents: "https://app.asana.com/-/oauth_token"
      }
      -headers: array:4 [▼
        "Content-Length" => array:1 [▼
          0 => "287"
        ]
        "User-Agent" => array:1 [▼
          0 => "GuzzleHttp/7"
        ]
        "Host" => array:1 [▼
          0 => "app.asana.com"
        ]
        "Content-Type" => array:1 [▼
          0 => "application/x-www-form-urlencoded"
        ]
      ]
      -headerNames: array:4 [▼
        "content-length" => "Content-Length"
        "user-agent" => "User-Agent"
        "host" => "Host"
        "content-type" => "Content-Type"
      ]
      -protocol: "1.1"
      -stream: GuzzleHttp\Psr7\Stream {#322 ▼
        -stream: stream resource @485 ▼
          wrapper_type: "PHP"
          stream_type: "TEMP"
          mode: "w+b"
          unread_bytes: 0
          seekable: true
          uri: "php://temp"
          options: []
        }
        -size: 287
        -seekable: true
        -readable: true
        -writable: true
        -uri: "php://temp"
        -customMetadata: []
      }
    }
    -response: GuzzleHttp\Psr7\Response {#337 ▼
      -reasonPhrase: "Bad Request"
      -statusCode: 400
      -headers: array:16 [▼
        "Date" => array:1 [▼
          0 => "Tue, 06 Sep 2022 20:04:26 GMT"
        ]
        "Content-Type" => array:1 [▼
          0 => "application/json; charset=UTF-8"
        ]
        "Transfer-Encoding" => array:1 [▼
          0 => "chunked"
        ]
        "Connection" => array:1 [▼
          0 => "keep-alive"
        ]
        "Server" => array:1 [▼
          0 => "nginx"
        ]
        "X-Frame-Options" => array:1 [▼
          0 => "SAMEORIGIN"
        ]
        "X-Content-Type-Options" => array:1 [▼
          0 => "nosniff"
        ]
        "X-XSS-Protection" => array:1 [▼
          0 => "1; mode=block"
        ]
        "X-UA-Compatible" => array:1 [▼
          0 => "IE=edge,chrome=1"
        ]
        "Content-Security-Policy" => array:1 [▼
          0 => "report-uri /-/csp_report?report_only=false; script-src 'self' 'unsafe-inline' https://ssl.gstatic.com https://apis.google.com https://d3ki9tyy5l5ruj.cloudfront.net https://d1gwm4cf8hecp4.cloudfront.net https://d1a3usp4brejtz.cloudfront.net https://d3u0af8znnrzzj.cloudfront.net https://oauth.googleusercontent.com https://app.box.com https://platform.twitter.com https://connect.facebook.net https://platform.harvestapp.com https://www.google.com https://docs.google.com https://www.gstatic.com https://www.dropbox.com https://asana.recurly.com https://asanastage.recurly.com https://api.recurly.com https://js.recurly.com https://www.paypal.com/sdk/js https://recordwidget.vimeocdn.com https://api.stripe.com https://hooks.stripe.com https://js.stripe.com https://m.stripe.com https://m.stripe.network https://q.stripe.com https://prod-eu1.app.asana.com https://prod-au1.app.asana.com https://prod-jp1.app.asana.com https://cdn.cookielaw.org; frame-src 'self' https://www.figma.com https://*.invisionapp.com https://invis.io https://miro.com https://whimsical.com https://www.loom.com https://www.youtube.com https://player.vimeo.com https://fast.wistia.com https://www.canva.com https://xd.adobe.com https://*.looker.com https://lucid.app https://*.okta.com https://accounts.google.com https://content.googleapis.com https://www.google.com https://docs.google.com https://fast.wistia.net https://www.dropbox.com https://platform.harvestapp.com https://asanaops.wufoo.com https://forms.asana.plus https://forms-server.asana.plus https://local.asana.com https://asana.com https://api.recurly.com https://apisandbox.zuora.com https://www.zuora.com https://www.sandbox.paypal.com https://www.paypal.com https://recordwidget.vimeocdn.com https://api.stripe.com https://hooks.stripe.com https://js.stripe.com https://m.stripe.com https://m.stripe.network https://q.stripe.com https://pixel.asana.com https://d17ihzt85nhn2y.cloudfront.net https://d3ki9tyy5l5ruj.cloudfront.net https://prod-eu1.app.asana.com https://prod-au1.app.asana.com https://prod-jp1.app.asana.com https://cdn.cookielaw.org; worker-src 'self' blob: https://d3ki9tyy5l5ruj.cloudfront.net; child-src 'self' blob: https://d3ki9tyy5l5ruj.cloudfront.net; object-src 'self'; plugin-types application/pdf; base-uri 'none', report-uri /-/csp_report?report_only=false; script-src https: 'unsafe-inline' 'strict-dynamic' 'report-sample' 'nonce-ftbqv16ypo12x6ih3dnz584mh' ◀"
        ]
        "Content-Security-Policy-Report-Only" => array:1 [▼
          0 => "report-uri /-/csp_report?report_only=true; script-src 'self' 'unsafe-inline' 'report-sample' https://ssl.gstatic.com https://apis.google.com https://d3ki9tyy5l5ruj.cloudfront.net https://d1gwm4cf8hecp4.cloudfront.net https://d1a3usp4brejtz.cloudfront.net https://d3u0af8znnrzzj.cloudfront.net https://oauth.googleusercontent.com https://app.box.com https://platform.twitter.com https://connect.facebook.net https://platform.harvestapp.com https://www.google.com https://docs.google.com https://www.gstatic.com https://www.dropbox.com https://asana.recurly.com https://asanastage.recurly.com https://api.recurly.com https://js.recurly.com https://www.paypal.com/sdk/js https://recordwidget.vimeocdn.com https://prod-eu1.app.asana.com https://prod-au1.app.asana.com https://prod-jp1.app.asana.com https://cdn.cookielaw.org; frame-src 'self' https://www.figma.com https://*.invisionapp.com https://invis.io https://miro.com https://whimsical.com https://www.loom.com https://www.youtube.com https://player.vimeo.com https://fast.wistia.com https://www.canva.com https://xd.adobe.com https://*.looker.com https://lucid.app https://*.okta.com https://accounts.google.com https://content.googleapis.com https://www.google.com https://docs.google.com https://fast.wistia.net https://www.dropbox.com https://platform.harvestapp.com https://asanaops.wufoo.com https://forms.asana.plus https://forms-server.asana.plus https://local.asana.com https://asana.com https://api.recurly.com https://apisandbox.zuora.com https://www.zuora.com https://www.sandbox.paypal.com https://www.paypal.com https://recordwidget.vimeocdn.com https://pixel.asana.com https://d17ihzt85nhn2y.cloudfront.net https://d3ki9tyy5l5ruj.cloudfront.net https://prod-eu1.app.asana.com https://prod-au1.app.asana.com https://prod-jp1.app.asana.com https://cdn.cookielaw.org; worker-src 'self' blob: https://d3ki9tyy5l5ruj.cloudfront.net; child-src 'self' blob: https://d3ki9tyy5l5ruj.cloudfront.net; object-src 'self'; plugin-types application/pdf; base-uri 'none', report-uri /-/csp_report?report_only=true; script-src https: 'unsafe-inline' 'strict-dynamic' 'report-sample' 'nonce-ftbqv16ypo12x6ih3dnz584mh' ◀"
        ]
        "Cache-Control" => array:1 [▼
          0 => "no-store"
        ]
        "Pragma" => array:1 [▼
          0 => "no-cache"
        ]
        "Set-Cookie" => array:2 [▼
          0 => "logged_out_uuid=ade1256401a27a9e3078cb0ef6b2f991; expires=Thu, 06 Oct 2022 20:04:26 GMT; path=/; domain=asana.com; SameSite=None; secure"
          1 => "TooBusyRedirectCount=0"
        ]
        "X-Asana-Content-String-Length" => array:1 [▼
          0 => "216"
        ]
        "X-Robots-Tag" => array:1 [▼
          0 => "none"
        ]
      ]
      -headerNames: array:16 [▼
        "date" => "Date"
        "content-type" => "Content-Type"
        "transfer-encoding" => "Transfer-Encoding"
        "connection" => "Connection"
        "server" => "Server"
        "x-frame-options" => "X-Frame-Options"
        "x-content-type-options" => "X-Content-Type-Options"
        "x-xss-protection" => "X-XSS-Protection"
        "x-ua-compatible" => "X-UA-Compatible"
        "content-security-policy" => "Content-Security-Policy"
        "content-security-policy-report-only" => "Content-Security-Policy-Report-Only"
        "cache-control" => "Cache-Control"
        "pragma" => "Pragma"
        "set-cookie" => "Set-Cookie"
        "x-asana-content-string-length" => "X-Asana-Content-String-Length"
        "x-robots-tag" => "X-Robots-Tag"
      ]
      -protocol: "1.1"
      -stream: GuzzleHttp\Psr7\Stream {#334 ▼
        -stream: stream resource @496 ▼
          wrapper_type: "PHP"
          stream_type: "TEMP"
          mode: "w+b"
          unread_bytes: 0
          seekable: true
          uri: "php://temp"
          options: []
        }
        -size: null
        -seekable: true
        -readable: true
        -writable: true
        -uri: "php://temp"
        -customMetadata: []
      }
    }
    -transferTime: 0.991628
    -handlerStats: array:38 [▼
      "url" => "https://app.asana.com/-/oauth_token"
      "content_type" => "application/json; charset=UTF-8"
      "http_code" => 400
      "header_size" => 5254
      "request_size" => 436
      "filetime" => -1
      "ssl_verify_result" => 0
      "redirect_count" => 0
      "total_time" => 0.991628
      "namelookup_time" => 0.004482
      "connect_time" => 0.220329
      "pretransfer_time" => 0.689512
      "size_upload" => 287.0
      "size_download" => 216.0
      "speed_download" => 217.0
      "speed_upload" => 289.0
      "download_content_length" => -1.0
      "upload_content_length" => 287.0
      "starttransfer_time" => 0.986694
      "redirect_time" => 0.0
      "redirect_url" => ""
      "primary_ip" => "44.195.135.116"
      "certinfo" => []
      "primary_port" => 443
      "local_ip" => "192.168.43.97"
      "local_port" => 54921
      "http_version" => 2
      "protocol" => 2
      "ssl_verifyresult" => 0
      "scheme" => "HTTPS"
      "appconnect_time_us" => 689296
      "connect_time_us" => 220329
      "namelookup_time_us" => 4482
      "pretransfer_time_us" => 689512
      "redirect_time_us" => 0
      "starttransfer_time_us" => 986694
      "total_time_us" => 991628
      "appconnect_time" => 0.689296
    ]
    -handlerErrorData: 0
  }
}

If anyone could help me I will be very grateful