HTTP Request OAuth2 Authorization header not sent

Describe the problem/error/question

I have a problem with a HTTP call to an OAuth2 API. The Authorization Header is not sent in the request. What am I doing wrong?

Please share your workflow

Request sent by node

{
    "headers": {
        "accept": "application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7"
    },
    "method": "GET",
    "uri": "https://api.SOMETHING",
    "gzip": true,
    "rejectUnauthorized": true,
    "followRedirect": true,
    "resolveWithFullResponse": true,
    "followAllRedirects": true,
    "timeout": 300000,
    "encoding": null,
    "json": false,
    "useStream": true
}

Information on your n8n setup

  • n8n version: 1.98.2
  • Database (default: SQLite): SQLite
  • n8n EXECUTIONS_PROCESS setting: main
  • Running n8n via: Docker
  • Operating system: Debian

You are using the HTTP Request node with authentication via genericCredentialType. Authentication via oAuth2Api is specified. The credentials { id, name } have been correctly specified.

1- Check OAuth2 API credentials:
Go to Credentials > OAuth2 API and make sure the Access Token is set to be sent in the header as Authorization: Bearer .

2- Use OAuth2 directly if the API supports it:
If the API you’re using is predefined in n8n, use the specific authentication type instead of genericCredentialType.

3- Debug: Add a Set node and then inspect the headers in the HTTP node with “Full Response” mode enabled to see if the Authorization header is present.

This issue is usually caused by OAuth2 API credentials not properly marking the token injection option in the headers. Although the workflow appears to be configured correctly on the surface, the credentials must be correctly defined for automatic token injection to work.

1- Credentials should be set the right way

2- API I use is not predefined

3- Don’t know how to do this. Even with setting node “On Error” to continue the node has nothing to pass on into the next set or debug node

"error": 
{
}

And as said before I inspected the sent request in the Console and it does not contain the header. My first message includes full request sent, even changing credentials to “Autentication: Body” does not change anything.
Just for overview also included HTTP node Setup

Seems like no one has an Idea. It’s really odd to see this not working, even with some other OAuth2 APIs that are not specifically set up as provider in n8n