@vasanthcambium/vite-plugin-nbi-proxy 0.1.0 → 0.1.1
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/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAIlD,MAAM,WAAW,eAAe;IAC9B,8GAA8G;IAC9G,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAIlD,MAAM,WAAW,eAAe;IAC9B,8GAA8G;IAC9G,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;CACjB;AAeD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAsLzD"}
|
package/dist/index.js
CHANGED
|
@@ -11,14 +11,19 @@
|
|
|
11
11
|
* from the SSO flow initiated by cnMaestro — this plugin is never involved.
|
|
12
12
|
*/
|
|
13
13
|
import { PROXY_DEFAULTS, FORWARDED_RESPONSE_HEADERS } from './constants.js';
|
|
14
|
+
// Dev-only in-memory credential store — populated via POST /api/__dev-auth__.
|
|
15
|
+
// Stays server-side (Vite plugin process); never reaches the browser.
|
|
16
|
+
let devCredentials = null;
|
|
17
|
+
const DEV_AUTH_PATH = '/api/__dev-auth__';
|
|
18
|
+
const DEV_AUTH_STATUS_PATH = '/api/__dev-auth__/status';
|
|
14
19
|
export function nbiProxy(options) {
|
|
15
20
|
const { cfDomain, appCategory, appType } = options;
|
|
16
21
|
const loginUrl = `${cfDomain}/${appCategory}/${appType}/api/v2/login`;
|
|
17
22
|
const apiBase = `${cfDomain}/${appCategory}/${appType}/api`;
|
|
18
23
|
let sessionCookie = null;
|
|
19
24
|
async function doLogin() {
|
|
20
|
-
const clientId = process.env['NBI_CLIENT_ID']
|
|
21
|
-
const clientSecret = process.env['NBI_CLIENT_SECRET']
|
|
25
|
+
const clientId = process.env['NBI_CLIENT_ID'] || devCredentials?.clientId || '';
|
|
26
|
+
const clientSecret = process.env['NBI_CLIENT_SECRET'] || devCredentials?.clientSecret || '';
|
|
22
27
|
if (!clientId || !clientSecret) {
|
|
23
28
|
throw new Error('[nbi-proxy] NBI_CLIENT_ID and NBI_CLIENT_SECRET must be set in .env.development');
|
|
24
29
|
}
|
|
@@ -80,6 +85,50 @@ export function nbiProxy(options) {
|
|
|
80
85
|
apply: 'serve',
|
|
81
86
|
configureServer(server) {
|
|
82
87
|
server.middlewares.use(async (req, res, next) => {
|
|
88
|
+
// ── Dev-only credential endpoint — must come before the proxy intercept ──
|
|
89
|
+
// Strip query string before comparing so ?foo=bar cannot bypass the check.
|
|
90
|
+
const reqPath = req.url?.split('?')[0];
|
|
91
|
+
if (reqPath === DEV_AUTH_STATUS_PATH) {
|
|
92
|
+
res.statusCode = 200;
|
|
93
|
+
res.setHeader('content-type', 'application/json');
|
|
94
|
+
res.end(JSON.stringify({ configured: !!(process.env['NBI_CLIENT_ID'] || devCredentials) }));
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if (reqPath === DEV_AUTH_PATH) {
|
|
98
|
+
if (req.method !== 'POST') {
|
|
99
|
+
res.statusCode = 405;
|
|
100
|
+
res.end();
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
const chunks = [];
|
|
105
|
+
for await (const chunk of req) {
|
|
106
|
+
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
107
|
+
}
|
|
108
|
+
const payload = JSON.parse(Buffer.concat(chunks).toString('utf8'));
|
|
109
|
+
const { clientId, clientSecret } = payload;
|
|
110
|
+
if (typeof clientId !== 'string' || !clientId || typeof clientSecret !== 'string' || !clientSecret) {
|
|
111
|
+
res.statusCode = 400;
|
|
112
|
+
res.setHeader('content-type', 'application/json');
|
|
113
|
+
res.end(JSON.stringify({ error: 'clientId and clientSecret are required' }));
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
devCredentials = { clientId, clientSecret };
|
|
117
|
+
sessionCookie = null; // force re-login with new credentials
|
|
118
|
+
res.statusCode = 200;
|
|
119
|
+
res.setHeader('content-type', 'application/json');
|
|
120
|
+
res.end(JSON.stringify({ ok: true }));
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
if (!res.headersSent) {
|
|
124
|
+
res.statusCode = 400;
|
|
125
|
+
res.setHeader('content-type', 'application/json');
|
|
126
|
+
res.end(JSON.stringify({ error: 'invalid request body' }));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
// ── End dev-only credential endpoint ──
|
|
83
132
|
if (!req.url?.startsWith(PROXY_DEFAULTS.INTERCEPT_PREFIX)) {
|
|
84
133
|
next();
|
|
85
134
|
return;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAiB5E,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEnD,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,WAAW,IAAI,OAAO,eAAe,CAAC;IACtE,MAAM,OAAO,GAAI,GAAG,QAAQ,IAAI,WAAW,IAAI,OAAO,MAAM,CAAC;IAE7D,IAAI,aAAa,GAAkB,IAAI,CAAC;IAExC,KAAK,UAAU,OAAO;QACpB,MAAM,QAAQ,GAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vasanthcambium/vite-plugin-nbi-proxy",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Vite dev-server plugin that proxies /api/* to the MarketApps BFF. Dev-only — not included in production builds.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|