@mcp-abap-adt/core 2.7.2 → 2.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/lib/systemContext.d.ts +1 -1
- package/dist/lib/systemContext.d.ts.map +1 -1
- package/dist/lib/systemContext.js +12 -2
- package/dist/lib/systemContext.js.map +1 -1
- package/dist/server/BaseMcpServer.d.ts.map +1 -1
- package/dist/server/BaseMcpServer.js +21 -3
- package/dist/server/BaseMcpServer.js.map +1 -1
- package/dist/server/launcher.js +4 -0
- package/dist/server/launcher.js.map +1 -1
- package/docs/architecture/ARCHITECTURE.md +2 -0
- package/docs/user-guide/CLIENT_CONFIGURATION.md +7 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [2.7.4] - 2026-03-03
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **System context HTTP headers for HTTP/SSE transport**:
|
|
9
|
+
- `x-sap-master-system` and `x-sap-responsible` headers allow per-request system context override.
|
|
10
|
+
- Priority: HTTP headers → `process.env` → cloud `getSystemInformation()` API.
|
|
11
|
+
- Enables on-prem transport request binding for HTTP/SSE connections without `.env` file.
|
|
12
|
+
- **System context cache isolation**: cache is reset before each non-stdio request to prevent stale values leaking between requests targeting different SAP systems.
|
|
13
|
+
|
|
14
|
+
## [2.7.3] - 2026-03-03
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- **Release workflow lint gate** for `v2.7.2`:
|
|
18
|
+
- Applied Biome formatting/import ordering fixes in updated hard-mode test infrastructure and integration suites.
|
|
19
|
+
- Kept hard-mode behavior unchanged; this patch is focused on CI/release pipeline stability.
|
|
20
|
+
|
|
5
21
|
## [2.7.2] - 2026-03-03
|
|
6
22
|
|
|
7
23
|
### Added
|
|
@@ -3,7 +3,7 @@ export interface IAdtSystemContext {
|
|
|
3
3
|
masterSystem?: string;
|
|
4
4
|
responsible?: string;
|
|
5
5
|
}
|
|
6
|
-
export declare function resolveSystemContext(connection: IAbapConnection): Promise<IAdtSystemContext>;
|
|
6
|
+
export declare function resolveSystemContext(connection: IAbapConnection, overrides?: Partial<IAdtSystemContext>): Promise<IAdtSystemContext>;
|
|
7
7
|
export declare function getSystemContext(): IAdtSystemContext;
|
|
8
8
|
export declare function resetSystemContextCache(): void;
|
|
9
9
|
//# sourceMappingURL=systemContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"systemContext.d.ts","sourceRoot":"","sources":["../../src/lib/systemContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"systemContext.d.ts","sourceRoot":"","sources":["../../src/lib/systemContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,eAAe,EAC3B,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAkC5B;AAED,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD;AAED,wBAAgB,uBAAuB,SAEtC"}
|
|
@@ -4,11 +4,21 @@ exports.resolveSystemContext = resolveSystemContext;
|
|
|
4
4
|
exports.getSystemContext = getSystemContext;
|
|
5
5
|
exports.resetSystemContextCache = resetSystemContextCache;
|
|
6
6
|
const connectionEvents_1 = require("./connectionEvents");
|
|
7
|
+
// Singleton cache is sufficient: one MCP session always maps to one SAP system.
|
|
8
|
+
// For HTTP/SSE the cache is reset before each request as a safety measure.
|
|
7
9
|
let cached;
|
|
8
|
-
async function resolveSystemContext(connection) {
|
|
10
|
+
async function resolveSystemContext(connection, overrides) {
|
|
11
|
+
// Priority 1: explicit overrides (from HTTP headers)
|
|
12
|
+
if (overrides && (overrides.masterSystem || overrides.responsible)) {
|
|
13
|
+
cached = {
|
|
14
|
+
masterSystem: overrides.masterSystem,
|
|
15
|
+
responsible: overrides.responsible,
|
|
16
|
+
};
|
|
17
|
+
return cached;
|
|
18
|
+
}
|
|
9
19
|
if (cached)
|
|
10
20
|
return cached;
|
|
11
|
-
//
|
|
21
|
+
// Priority 2: env vars (on-prem or explicitly configured)
|
|
12
22
|
const masterSystem = process.env.SAP_MASTER_SYSTEM;
|
|
13
23
|
const responsible = process.env.SAP_RESPONSIBLE || process.env.SAP_USERNAME;
|
|
14
24
|
if (masterSystem || responsible) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"systemContext.js","sourceRoot":"","sources":["../../src/lib/systemContext.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"systemContext.js","sourceRoot":"","sources":["../../src/lib/systemContext.ts"],"names":[],"mappings":";;AAYA,oDAqCC;AAED,4CAEC;AAED,0DAEC;AAxDD,yDAAiE;AAOjE,gFAAgF;AAChF,2EAA2E;AAC3E,IAAI,MAAqC,CAAC;AAEnC,KAAK,UAAU,oBAAoB,CACxC,UAA2B,EAC3B,SAAsC;IAEtC,qDAAqD;IACrD,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACnE,MAAM,GAAG;YACP,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,WAAW,EAAE,SAAS,CAAC,WAAW;SACnC,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,0DAA0D;IAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAE5E,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sCAAsC;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,GAAG;YACP,YAAY,EAAE,IAAI,EAAE,QAAQ;YAC5B,WAAW,EAAE,IAAI,EAAE,QAAQ;SAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,gBAAgB;IAC9B,OAAO,MAAM,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAgB,uBAAuB;IACrC,MAAM,GAAG,SAAS,CAAC;AACrB,CAAC;AAED,IAAA,8CAA2B,EAAC,uBAAuB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMcpServer.d.ts","sourceRoot":"","sources":["../../src/server/BaseMcpServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseMcpServer.d.ts","sourceRoot":"","sources":["../../src/server/BaseMcpServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;GAGG;AACH,8BAAsB,aAAc,SAAQ,SAAS;IACnD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAE7D;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAElC;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAA+B;gBAE3C,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAKxE;;;;OAIG;cACa,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC;IAgFhB;;;OAGG;IACH,SAAS,CAAC,+BAA+B,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,IAAI;IAsDP;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAI,iBAAiB,GAAG,IAAI;IAI1D;;;;;;OAMG;cACa,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC;IAkDxD;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI;CAmItE"}
|
|
@@ -113,9 +113,16 @@ class BaseMcpServer extends mcp_js_1.McpServer {
|
|
|
113
113
|
const username = getHeader('x-sap-login');
|
|
114
114
|
const password = getHeader('x-sap-password');
|
|
115
115
|
const client = getHeader('x-sap-client') || '';
|
|
116
|
+
const masterSystem = getHeader('x-sap-master-system');
|
|
117
|
+
const responsible = getHeader('x-sap-responsible');
|
|
116
118
|
if (!url) {
|
|
117
119
|
throw new Error('x-sap-url header is required for direct SAP connection');
|
|
118
120
|
}
|
|
121
|
+
const metadata = {};
|
|
122
|
+
if (masterSystem)
|
|
123
|
+
metadata.masterSystem = masterSystem;
|
|
124
|
+
if (responsible)
|
|
125
|
+
metadata.responsible = responsible;
|
|
119
126
|
if (jwtToken) {
|
|
120
127
|
// JWT auth
|
|
121
128
|
this.connectionContext = {
|
|
@@ -126,7 +133,7 @@ class BaseMcpServer extends mcp_js_1.McpServer {
|
|
|
126
133
|
jwtToken,
|
|
127
134
|
client,
|
|
128
135
|
},
|
|
129
|
-
metadata
|
|
136
|
+
metadata,
|
|
130
137
|
};
|
|
131
138
|
}
|
|
132
139
|
else if (username && password) {
|
|
@@ -140,7 +147,7 @@ class BaseMcpServer extends mcp_js_1.McpServer {
|
|
|
140
147
|
password,
|
|
141
148
|
client,
|
|
142
149
|
},
|
|
143
|
-
metadata
|
|
150
|
+
metadata,
|
|
144
151
|
};
|
|
145
152
|
}
|
|
146
153
|
else {
|
|
@@ -173,9 +180,20 @@ class BaseMcpServer extends mcp_js_1.McpServer {
|
|
|
173
180
|
// Reuse cached connection for stdio mode
|
|
174
181
|
return this.cachedConnection;
|
|
175
182
|
}
|
|
183
|
+
// For non-stdio connections, reset system context cache so each request
|
|
184
|
+
// resolves fresh (different requests may target different systems)
|
|
185
|
+
const isStdio = destination && sessionId === destination;
|
|
186
|
+
if (!isStdio) {
|
|
187
|
+
(0, systemContext_js_1.resetSystemContextCache)();
|
|
188
|
+
}
|
|
176
189
|
const connection = (0, connection_1.createAbapConnection)(this.connectionContext.connectionParams);
|
|
190
|
+
// Build overrides from metadata (HTTP headers)
|
|
191
|
+
const metadata = this.connectionContext?.metadata || {};
|
|
192
|
+
const masterSystem = metadata.masterSystem;
|
|
193
|
+
const responsible = metadata.responsible;
|
|
194
|
+
const overrides = masterSystem || responsible ? { masterSystem, responsible } : undefined;
|
|
177
195
|
// Resolve system context (masterSystem/responsible) once per connection
|
|
178
|
-
await (0, systemContext_js_1.resolveSystemContext)(connection);
|
|
196
|
+
await (0, systemContext_js_1.resolveSystemContext)(connection, overrides);
|
|
179
197
|
// Cache connection for stdio mode (when sessionId === destination, it's stdio)
|
|
180
198
|
// SSE/HTTP modes use different sessionId per request, so caching won't interfere
|
|
181
199
|
if (destination && sessionId === destination) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMcpServer.js","sourceRoot":"","sources":["../../src/server/BaseMcpServer.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,yDAGkC;AAElC,oEAAoE;AAGpE,wGAAkG;AAClG,yEAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"BaseMcpServer.js","sourceRoot":"","sources":["../../src/server/BaseMcpServer.ts"],"names":[],"mappings":"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"}
|
package/dist/server/launcher.js
CHANGED
|
@@ -149,6 +149,10 @@ SAP CONNECTION (.env file):
|
|
|
149
149
|
Cloud systems resolve this automatically via API.
|
|
150
150
|
SAP_RESPONSIBLE Responsible user (optional, falls back to SAP_USERNAME)
|
|
151
151
|
|
|
152
|
+
HTTP/SSE Headers (System Context):
|
|
153
|
+
x-sap-master-system Per-request SAP system ID (overrides SAP_MASTER_SYSTEM)
|
|
154
|
+
x-sap-responsible Per-request responsible user (overrides SAP_RESPONSIBLE)
|
|
155
|
+
|
|
152
156
|
GENERATING .ENV FROM SERVICE KEY:
|
|
153
157
|
Install connection package: npm install -g @mcp-abap-adt/connection
|
|
154
158
|
Generate .env: sap-abap-auth auth -k path/to/service-key.json
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/server/launcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAC9B,gDAAkC;AAClC,+CAAiC;AACjC,mDAAyD;AACzD,qDAA6D;AAC7D,8DAOyC;AAEzC,wGAAkG;AAClG,8CAGyB;AACzB,+DAAyD;AACzD,iDAA2C;AAC3C,qDAA+C;AAC/C,uEAAiE;AAEjE,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAChD,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACjD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAC;AACF,MAAM,kBAAkB,GACtB,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;AAItE,8EAA8E;AAC9E,IAAI,YAAwE,CAAC;AAE7E,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAS,+BAA+B,CAAC,WAAoB;IAC3D,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAmC;YAC3C,mBAAmB;YACnB,iBAAiB;YACjB,cAAc;SACf,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uFAAuF;IACzF,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/server/launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -340,6 +340,8 @@ export async function handleGetProgram(context: HandlerContext, args: GetProgram
|
|
|
340
340
|
|
|
341
341
|
All transports extend `BaseMcpServer` which handles handler registration, connection context management, and per-request context injection.
|
|
342
342
|
|
|
343
|
+
> **Design invariant:** One MCP session always maps to one SAP system. System context (`masterSystem`, `responsible`) is kept in a singleton cache that is resolved once per session. For HTTP/SSE the cache is reset before each request as a safety measure, but switching SAP systems within the same session is not a supported scenario.
|
|
344
|
+
|
|
343
345
|
---
|
|
344
346
|
|
|
345
347
|
### 2.10 @mcp-abap-adt/proxy (Auxiliary Utility)
|
|
@@ -76,6 +76,8 @@ The server processes the following HTTP headers (as checked in `applyAuthHeaders
|
|
|
76
76
|
| `x-sap-password` | Yes* (for basic) | Password for basic authentication | `your_password` |
|
|
77
77
|
| `x-sap-destination` | No | Destination name for service key-based authentication | `TRIAL`, `DEV`, `PROD` |
|
|
78
78
|
| `x-mcp-destination` | No | Destination name for MCP destination-based authentication | `TRIAL`, `DEV`, `PROD` |
|
|
79
|
+
| `x-sap-master-system` | No | SAP system ID for on-prem transport binding | `DEV`, `QAS` |
|
|
80
|
+
| `x-sap-responsible` | No | Responsible user for transport operations | `DEVELOPER1` |
|
|
79
81
|
|
|
80
82
|
\* Required when not using `.env` file configuration or destination-based authentication. If headers are not provided, the server will use configuration from `.env` file or environment variables.
|
|
81
83
|
|
|
@@ -101,7 +103,9 @@ For on-premise systems using basic authentication:
|
|
|
101
103
|
"x-sap-url": "https://your-onpremise-system.com:8000",
|
|
102
104
|
"x-sap-auth-type": "basic",
|
|
103
105
|
"x-sap-login": "your_username",
|
|
104
|
-
"x-sap-password": "your_password"
|
|
106
|
+
"x-sap-password": "your_password",
|
|
107
|
+
"x-sap-master-system": "DEV",
|
|
108
|
+
"x-sap-responsible": "DEVELOPER1"
|
|
105
109
|
}
|
|
106
110
|
}
|
|
107
111
|
}
|
|
@@ -109,6 +113,8 @@ For on-premise systems using basic authentication:
|
|
|
109
113
|
|
|
110
114
|
**Note:** For basic authentication, you can pass username and password via HTTP headers (`x-sap-login` and `x-sap-password`) or configure them in the server's `.env` file (`SAP_USERNAME`, `SAP_PASSWORD`). Headers take priority over `.env` values.
|
|
111
115
|
|
|
116
|
+
**System context headers** (`x-sap-master-system`, `x-sap-responsible`) are optional. When provided, they override `SAP_MASTER_SYSTEM` / `SAP_RESPONSIBLE` from `.env` and the cloud `getSystemInformation()` API. This is useful for on-premise HTTP/SSE setups where no `.env` file is used.
|
|
117
|
+
|
|
112
118
|
## Destination-Based Authentication
|
|
113
119
|
|
|
114
120
|
> **Note:** Destination-based authentication (auth-broker) is available for all transport types:
|