Interface: StorefrontAuthRouteOptions
Properties
apiUrl
apiUrl:
string
Backend base URL (e.g. https://api.doswiftly.pl). The server-to-server namespace is ${apiUrl}/storefront/auth/*.
authBasePath?
optionalauthBasePath?:string
Base path the route is mounted at (default /api/auth). The refresh cookie's
Path is set to it so the cookie reaches both the refresh and logout routes
(siblings under this base) but not GraphQL data traffic, which lives on a
different path.
fetch?
optionalfetch?: {(input,init?):Promise<Response>; (input,init?):Promise<Response>; }
Custom fetch (tests, non-standard runtimes). Defaults to globalThis.fetch.
Call Signature
(
input,init?):Promise<Response>
Parameters
input
RequestInfo | URL
init?
RequestInit
Returns
Promise<Response>
Call Signature
(
input,init?):Promise<Response>
Parameters
input
string | Request | URL
init?
RequestInit
Returns
Promise<Response>
getBuyerIp?
optionalgetBuyerIp?: (request) =>string|Promise<string|null|undefined> |null|undefined
Real buyer IP source for forwarded-IP signing. Defaults to reading the
x-doswiftly-client-ip header (set by the platform edge) then cf-connecting-ip
from the incoming request. Forwarding the buyer's real IP lets the backend
rate-limit per buyer even though the auth call is server-to-server — otherwise
every buyer of a shop shares the storefront server's IP and per-IP limits
collapse onto it. Override only for non-standard transports. Sync or async.
Parameters
request
Request
Returns
string | Promise<string | null | undefined> | null | undefined
getForwardedIpSecret?
optionalgetForwardedIpSecret?: () =>string|Promise<string|null|undefined> |null|undefined
Forwarded-IP signing secret. Defaults to process.env.DOSWIFTLY_FORWARDED_IP_SECRET
(injected into the storefront's server runtime by your DoSwiftly deployment).
Forwarding is opt-in on the secret: without it the route signs nothing and the
backend keys the connection IP. Server-side only — never expose to the browser.
Lazy getter — a rotated secret is picked up without rebuilding the route.
Returns
string | Promise<string | null | undefined> | null | undefined
isTrustedOrigin?
optionalisTrustedOrigin?:OriginValidator|null
CSRF defense-in-depth predicate. When the storefront runs behind a reverse
proxy that rewrites/strips Host (Cloudflare Workers, Vercel, NGINX),
pass trustedForwardedHostValidator. This is NOT the primary control — the
backend's protocol controls (rotation + reuse-detection + rate-limit +
possession-proof) are. See OriginValidator.
shopSlug
shopSlug:
string
Shop slug forwarded as the X-Shop-Slug routing hint (selects the tenant; never binds the rotation family).