@pokash/n8n-nodes-ksef 0.2.6 → 0.2.7
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.
|
@@ -49,23 +49,15 @@ export declare function ksefApiRequest(this: IExecuteFunctions | ILoadOptionsFun
|
|
|
49
49
|
*/
|
|
50
50
|
export declare function ksefApiRequestWithRetry(this: IExecuteFunctions, method: IHttpRequestMethods, endpoint: string, body?: IDataObject, query?: IDataObject, sessionToken?: string, maxRetries?: number): Promise<IDataObject>;
|
|
51
51
|
/**
|
|
52
|
-
* Get authorization challenge from KSeF
|
|
52
|
+
* Get authorization challenge from KSeF (API v2)
|
|
53
53
|
*/
|
|
54
|
-
export declare function getAuthChallenge(this: IExecuteFunctions,
|
|
54
|
+
export declare function getAuthChallenge(this: IExecuteFunctions, _credentials: IKsefCredentials): Promise<IKsefChallenge>;
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
57
|
-
*/
|
|
58
|
-
export declare function getPublicKey(this: IExecuteFunctions): Promise<string>;
|
|
59
|
-
/**
|
|
60
|
-
* Encrypt token using RSA-OAEP with SHA-256
|
|
61
|
-
*/
|
|
62
|
-
export declare function encryptToken(token: string, timestamp: string, publicKeyPem: string): string;
|
|
63
|
-
/**
|
|
64
|
-
* Authenticate with KSeF using token method
|
|
56
|
+
* Authenticate with KSeF using token method (API v2)
|
|
65
57
|
*/
|
|
66
58
|
export declare function authenticateWithToken(this: IExecuteFunctions): Promise<IKsefAuthTokens>;
|
|
67
59
|
/**
|
|
68
|
-
* Authenticate with KSeF using XAdES signature (
|
|
60
|
+
* Authenticate with KSeF using XAdES signature (API v2)
|
|
69
61
|
*/
|
|
70
62
|
export declare function authenticateWithXades(this: IExecuteFunctions): Promise<IKsefAuthTokens>;
|
|
71
63
|
/**
|
|
@@ -38,8 +38,6 @@ exports.getBaseUrl = getBaseUrl;
|
|
|
38
38
|
exports.ksefApiRequest = ksefApiRequest;
|
|
39
39
|
exports.ksefApiRequestWithRetry = ksefApiRequestWithRetry;
|
|
40
40
|
exports.getAuthChallenge = getAuthChallenge;
|
|
41
|
-
exports.getPublicKey = getPublicKey;
|
|
42
|
-
exports.encryptToken = encryptToken;
|
|
43
41
|
exports.authenticateWithToken = authenticateWithToken;
|
|
44
42
|
exports.authenticateWithXades = authenticateWithXades;
|
|
45
43
|
exports.ksefApiRequestXml = ksefApiRequestXml;
|
|
@@ -47,7 +45,6 @@ exports.openOnlineSession = openOnlineSession;
|
|
|
47
45
|
exports.closeOnlineSession = closeOnlineSession;
|
|
48
46
|
exports.refreshSessionToken = refreshSessionToken;
|
|
49
47
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
50
|
-
const crypto = __importStar(require("crypto"));
|
|
51
48
|
const fs = __importStar(require("fs"));
|
|
52
49
|
const XadesHelper_1 = require("./XadesHelper");
|
|
53
50
|
// KSeF API v2 endpoints
|
|
@@ -133,42 +130,46 @@ async function ksefApiRequestWithRetry(method, endpoint, body = {}, query = {},
|
|
|
133
130
|
throw lastError;
|
|
134
131
|
}
|
|
135
132
|
/**
|
|
136
|
-
* Get authorization challenge from KSeF
|
|
133
|
+
* Get authorization challenge from KSeF (API v2)
|
|
137
134
|
*/
|
|
138
|
-
async function getAuthChallenge(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
type: 'onip',
|
|
142
|
-
identifier: credentials.nip,
|
|
143
|
-
},
|
|
144
|
-
});
|
|
135
|
+
async function getAuthChallenge(_credentials) {
|
|
136
|
+
// API v2 uses /auth/challenge with empty body
|
|
137
|
+
const response = await ksefApiRequest.call(this, 'POST', '/auth/challenge', {});
|
|
145
138
|
return {
|
|
146
139
|
challenge: response.challenge,
|
|
147
140
|
timestamp: response.timestamp,
|
|
148
141
|
};
|
|
149
142
|
}
|
|
150
143
|
/**
|
|
151
|
-
*
|
|
144
|
+
* Poll authentication status until complete
|
|
152
145
|
*/
|
|
153
|
-
async function
|
|
154
|
-
|
|
155
|
-
|
|
146
|
+
async function pollAuthStatus(referenceNumber, operationToken, maxAttempts = 30) {
|
|
147
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
148
|
+
const response = await ksefApiRequest.call(this, 'GET', `/auth/${referenceNumber}`, {}, {}, operationToken);
|
|
149
|
+
const status = response.status;
|
|
150
|
+
if (status === 'COMPLETED' || status === 'SUCCESS') {
|
|
151
|
+
return response;
|
|
152
|
+
}
|
|
153
|
+
if (status === 'FAILED' || status === 'ERROR') {
|
|
154
|
+
throw new Error(`Authentication failed: ${response.message || status}`);
|
|
155
|
+
}
|
|
156
|
+
// Wait before next poll
|
|
157
|
+
await sleep(1000);
|
|
158
|
+
}
|
|
159
|
+
throw new Error('Authentication timeout - status check exceeded maximum attempts');
|
|
156
160
|
}
|
|
157
161
|
/**
|
|
158
|
-
*
|
|
162
|
+
* Redeem authentication tokens
|
|
159
163
|
*/
|
|
160
|
-
function
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
oaepHash: 'sha256',
|
|
167
|
-
}, buffer);
|
|
168
|
-
return encrypted.toString('base64');
|
|
164
|
+
async function redeemTokens(operationToken) {
|
|
165
|
+
const response = await ksefApiRequest.call(this, 'POST', '/auth/token/redeem', {}, {}, operationToken);
|
|
166
|
+
return {
|
|
167
|
+
token: response.accessToken,
|
|
168
|
+
referenceNumber: response.referenceNumber,
|
|
169
|
+
};
|
|
169
170
|
}
|
|
170
171
|
/**
|
|
171
|
-
* Authenticate with KSeF using token method
|
|
172
|
+
* Authenticate with KSeF using token method (API v2)
|
|
172
173
|
*/
|
|
173
174
|
async function authenticateWithToken() {
|
|
174
175
|
const credentials = (await this.getCredentials('ksefApi'));
|
|
@@ -177,28 +178,21 @@ async function authenticateWithToken() {
|
|
|
177
178
|
}
|
|
178
179
|
// Step 1: Get challenge
|
|
179
180
|
const challenge = await getAuthChallenge.call(this, credentials);
|
|
180
|
-
// Step 2:
|
|
181
|
-
const
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
contextIdentifier: {
|
|
188
|
-
type: 'onip',
|
|
189
|
-
identifier: credentials.nip,
|
|
190
|
-
},
|
|
191
|
-
contextName: {
|
|
192
|
-
type: getSubjectTypeCode(credentials.subjectType),
|
|
193
|
-
},
|
|
181
|
+
// Step 2: Init token authentication (API v2: /auth/ksef-token)
|
|
182
|
+
const initResponse = await ksefApiRequest.call(this, 'POST', '/auth/ksef-token', {
|
|
183
|
+
challenge: challenge.challenge,
|
|
184
|
+
token: credentials.authToken,
|
|
185
|
+
contextIdentifier: {
|
|
186
|
+
type: 'onip',
|
|
187
|
+
identifier: credentials.nip,
|
|
194
188
|
},
|
|
195
|
-
token: encryptedToken,
|
|
196
189
|
});
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
190
|
+
const operationToken = initResponse.operationToken;
|
|
191
|
+
const referenceNumber = initResponse.referenceNumber;
|
|
192
|
+
// Step 3: Poll for authentication completion
|
|
193
|
+
await pollAuthStatus.call(this, referenceNumber, operationToken);
|
|
194
|
+
// Step 4: Redeem tokens
|
|
195
|
+
return redeemTokens.call(this, operationToken);
|
|
202
196
|
}
|
|
203
197
|
/**
|
|
204
198
|
* Load PFX certificate from file path or Base64 content
|
|
@@ -261,7 +255,7 @@ function loadCertificate(credentials) {
|
|
|
261
255
|
return (0, XadesHelper_1.parsePfxCertificate)(pfxBase64, credentials.certificatePassword);
|
|
262
256
|
}
|
|
263
257
|
/**
|
|
264
|
-
* Authenticate with KSeF using XAdES signature (
|
|
258
|
+
* Authenticate with KSeF using XAdES signature (API v2)
|
|
265
259
|
*/
|
|
266
260
|
async function authenticateWithXades() {
|
|
267
261
|
const credentials = (await this.getCredentials('ksefApi'));
|
|
@@ -271,13 +265,14 @@ async function authenticateWithXades() {
|
|
|
271
265
|
const challenge = await getAuthChallenge.call(this, credentials);
|
|
272
266
|
// Step 3: Generate XAdES signed XML document
|
|
273
267
|
const signedXmlBase64 = (0, XadesHelper_1.generateXadesSignedAuth)(credentials.nip, challenge.challenge, challenge.timestamp, credentials.subjectType, parsedCert.privateKey, parsedCert.certificate);
|
|
274
|
-
// Step 4: Send signed document to KSeF
|
|
275
|
-
const initResponse = await ksefApiRequestXml.call(this, 'POST', '/
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
268
|
+
// Step 4: Send signed document to KSeF (API v2: /auth/xades-signature)
|
|
269
|
+
const initResponse = await ksefApiRequestXml.call(this, 'POST', '/auth/xades-signature', signedXmlBase64);
|
|
270
|
+
const operationToken = initResponse.operationToken;
|
|
271
|
+
const referenceNumber = initResponse.referenceNumber;
|
|
272
|
+
// Step 5: Poll for authentication completion
|
|
273
|
+
await pollAuthStatus.call(this, referenceNumber, operationToken);
|
|
274
|
+
// Step 6: Redeem tokens
|
|
275
|
+
return redeemTokens.call(this, operationToken);
|
|
281
276
|
}
|
|
282
277
|
/**
|
|
283
278
|
* Make an API request to KSeF with XML body (for signed requests)
|
|
@@ -342,21 +337,6 @@ async function refreshSessionToken(sessionToken, referenceNumber) {
|
|
|
342
337
|
referenceNumber: response.referenceNumber,
|
|
343
338
|
};
|
|
344
339
|
}
|
|
345
|
-
/**
|
|
346
|
-
* Get subject type code for KSeF API
|
|
347
|
-
*/
|
|
348
|
-
function getSubjectTypeCode(subjectType) {
|
|
349
|
-
switch (subjectType) {
|
|
350
|
-
case 'individual':
|
|
351
|
-
return 'osoba_fizyczna';
|
|
352
|
-
case 'institutional':
|
|
353
|
-
return 'podmiot_instytucjonalny';
|
|
354
|
-
case 'internal':
|
|
355
|
-
return 'wewnetrzny';
|
|
356
|
-
default:
|
|
357
|
-
return 'podmiot_instytucjonalny';
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
340
|
/**
|
|
361
341
|
* Sleep helper for retry logic
|
|
362
342
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Ksef/GenericFunctions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Ksef/GenericFunctions.ts"],"names":[],"mappings":"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"}
|