/auth/jwtauth-jwtPublic proxy to the core auth server. Two paths: (1) if the body carries an apiKey, the proxy forwards it to core and returns the resulting JWT verbatim ({ jwt, audience, expiresAt }); (2) if the body has no apiKey, the proxy uses its service key to mint a pending one-time token (OTT) on core and returns { ott, expiresAt, authUrl } — the caller redirects the user to authUrl to complete sign-in. Audience is hardcoded to oracle. Per-route rate-limited (default 10 req/min/IP); no JWT required.
{
"jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.…",
"audience": "oracle",
"expiresAt": "2026-05-05T01:00:00.000Z"
}| Field | Type | Description |
|---|---|---|
apiKey | string | Caller-supplied API key. When present, the proxy forwards it to core's `/auth/jwt` and returns a JWT directly. When absent, the proxy uses its service key to mint a pending OTT and returns an `authUrl` for browser sign-in. |
{
"apiKey": "string"
}{
"jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.…",
"audience": "oracle",
"expiresAt": "2026-05-05T01:00:00.000Z"
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}