RavensPort

Setting up a route

Routes tab → add an Upstream (name + base URL) → enter a path prefix, pick the upstream and (optionally) a credential → Add route.

Routes tab

How the credential is sent#

By default the token goes out as Authorization: Bearer <token>. For upstreams that want it elsewhere, each credential on a route has a placement, a name, and a value prefix:

Placement Name means Result
Header (default) header name Authorization: Bearer <token> or X-Api-Key: <token>
Body field in the request body {"access_token": "<token>"}

Query-string placements have been removed. A URL is recorded by the upstream's access log, by every intermediary between here and it, by browser history, and in the Referer of anything the response loads — none of which RavensPort can redact. An upstream that accepts its credential only as ?access_token= cannot be used through RavensPort.

A route inherited from an earlier version with a query placement is not served at all: the config builder drops the whole route rather than forward it with that credential missing, and the activity log names it as SKIPPED. Change the entry to a header or body field to bring the route back.

Zero, one, or several credentials per route#

Select a route in the grid to open its editor — the route's own proxy key sits at the top, the credentials below it. Add credential appends another entry; Remove drops one. Every entry has its own credential, placement, name, and prefix, so a route can carry any combination:

Route attaches Example
Nothing plain forwarding hop to an upstream that needs no token
One credential Authorization: Bearer <token> — the usual case
Two or more headers Authorization: Bearer <A> + X-Project-Key: <B>
Several headers Authorization: Bearer <A> + X-Api-Key: <B> + PRIVATE-TOKEN: token <B>
Header + body Authorization: Bearer <A> + {"auth_token": "<B>"}
Several body fields {"access_token": "<A>", "project_token": "<B>"} — written in one rewrite
OAuth token + API key Authorization: Bearer <token> + X-Api-Key: <key> — a user grant plus a project key, which plenty of APIs demand together

Edit this page on the wiki Request support · Report vulnerabilities privately