samlesa 4.4.0 → 4.6.0

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/README.md CHANGED
@@ -154,25 +154,25 @@ const { context: samlResponse } = await idp.createLoginResponse({
154
154
  });
155
155
  ```
156
156
 
157
- ### Artifact Binding Support
158
-
159
- ```typescript
160
- import { ServiceProvider, IdentityProvider } from 'samlesa';
161
-
162
- // Create front-channel artifact login request
163
- const loginRequest = sp.createLoginRequest(idp, 'artifact');
164
-
165
- // Parse ArtifactResolve request on the SP artifact resolution endpoint
166
- const artifactResolve = await sp.parseArtifactResolveRequest(idp, soapXml);
167
-
168
- // Create ArtifactResponse with the resolved SAML message
169
- const artifactResponse = await sp.createArtifactResolveResponse(idp, {
170
- inResponseTo: artifactResolve.extract.request.id,
171
- });
172
-
173
- // Parse artifact-based login response from the ACS endpoint
174
- const responseResult = await sp.parseLoginResponse(idp, 'artifact', request);
175
- ```
157
+ ### Artifact Binding Support
158
+
159
+ ```typescript
160
+ import { ServiceProvider, IdentityProvider } from 'samlesa';
161
+
162
+ // Create front-channel artifact login request
163
+ const loginRequest = sp.createLoginRequest(idp, 'artifact');
164
+
165
+ // Parse ArtifactResolve request on the SP artifact resolution endpoint
166
+ const artifactResolve = await sp.parseArtifactResolveRequest(idp, soapXml);
167
+
168
+ // Create ArtifactResponse with the resolved SAML message
169
+ const artifactResponse = await sp.createArtifactResolveResponse(idp, {
170
+ inResponseTo: artifactResolve.extract.request.id,
171
+ });
172
+
173
+ // Parse artifact-based login response from the ACS endpoint
174
+ const responseResult = await sp.parseLoginResponse(idp, 'artifact', request);
175
+ ```
176
176
 
177
177
  ---
178
178
 
@@ -177,6 +177,7 @@ export const logoutResponseStatusFields = [
177
177
  export const loginResponseFields = assertion => [
178
178
  { key: 'conditions', localPath: ['Assertion', 'Conditions'], attributes: ['NotBefore', 'NotOnOrAfter'], shortcut: assertion },
179
179
  { key: 'response', localPath: ['Response'], attributes: ['ID', 'IssueInstant', 'Destination', 'InResponseTo', 'Version'] },
180
+ { key: 'responseIssuer', localPath: ['Response', 'Issuer'], attributes: [] },
180
181
  { key: 'audience', localPath: ['Assertion', 'Conditions', 'AudienceRestriction', 'Audience'], attributes: [], shortcut: assertion },
181
182
  { key: 'issuer', localPath: ['Assertion', 'Issuer'], attributes: [], shortcut: assertion },
182
183
  { key: 'nameID', localPath: ['Assertion', 'Subject', 'NameID'], attributes: [], shortcut: assertion },
package/build/src/flow.js CHANGED
@@ -24,6 +24,154 @@ function getDefaultExtractorFields(parserType, assertion) {
24
24
  throw new Error('ERR_UNDEFINED_PARSERTYPE');
25
25
  }
26
26
  }
27
+ function collectServiceLocations(entityMeta, serviceKey) {
28
+ const serviceConfig = entityMeta?.meta?.[serviceKey];
29
+ if (!serviceConfig) {
30
+ return [];
31
+ }
32
+ const collectFromEntry = (entry) => {
33
+ if (!entry) {
34
+ return [];
35
+ }
36
+ if (typeof entry === 'string') {
37
+ return entry.trim() ? [entry.trim()] : [];
38
+ }
39
+ if (typeof entry !== 'object') {
40
+ return [];
41
+ }
42
+ const directLocation = entry.location ?? entry.Location;
43
+ if (typeof directLocation === 'string' && directLocation.trim()) {
44
+ return [directLocation.trim()];
45
+ }
46
+ return Object.values(entry)
47
+ .filter((value) => typeof value === 'string' && value.trim().length > 0)
48
+ .map(value => value.trim())
49
+ .filter(value => /^https?:/i.test(value));
50
+ };
51
+ if (Array.isArray(serviceConfig)) {
52
+ return serviceConfig.flatMap(collectFromEntry);
53
+ }
54
+ if (typeof serviceConfig === 'object') {
55
+ const directLocations = collectFromEntry(serviceConfig);
56
+ if (directLocations.length > 0) {
57
+ return directLocations;
58
+ }
59
+ return Object.values(serviceConfig).flatMap(collectFromEntry);
60
+ }
61
+ return collectFromEntry(serviceConfig);
62
+ }
63
+ function matchesKnownEndpoint(endpoint, knownEndpoints) {
64
+ return typeof endpoint === 'string' && endpoint.length > 0 && knownEndpoints.includes(endpoint);
65
+ }
66
+ function validateIssuer(parserType, extractedProperties, expectedIssuer) {
67
+ const messageIssuer = extractedProperties?.issuer;
68
+ if (parserType === ParserType.SAMLResponse) {
69
+ const responseIssuer = extractedProperties?.responseIssuer;
70
+ if (responseIssuer && responseIssuer !== expectedIssuer) {
71
+ return 'ERR_UNMATCH_ISSUER';
72
+ }
73
+ if (messageIssuer && messageIssuer !== expectedIssuer) {
74
+ return 'ERR_UNMATCH_ISSUER';
75
+ }
76
+ if (responseIssuer && messageIssuer && responseIssuer !== messageIssuer) {
77
+ return 'ERR_UNMATCH_ISSUER';
78
+ }
79
+ return null;
80
+ }
81
+ if (messageIssuer && messageIssuer !== expectedIssuer) {
82
+ return 'ERR_UNMATCH_ISSUER';
83
+ }
84
+ return null;
85
+ }
86
+ function validateResponseTimes(parserType, extractedProperties, self) {
87
+ if (parserType !== ParserType.SAMLResponse) {
88
+ return null;
89
+ }
90
+ if (extractedProperties?.sessionIndex?.sessionNotOnOrAfter &&
91
+ !verifyTime(undefined, extractedProperties.sessionIndex.sessionNotOnOrAfter, self.entitySetting.clockDrifts)) {
92
+ return 'ERR_EXPIRED_SESSION';
93
+ }
94
+ if (extractedProperties?.conditions &&
95
+ !verifyTime(extractedProperties.conditions.notBefore, extractedProperties.conditions.notOnOrAfter, self.entitySetting.clockDrifts)) {
96
+ return 'ERR_CONDITION_UNCONFIRMED';
97
+ }
98
+ if (extractedProperties?.subjectConfirmation?.notOnOrAfter &&
99
+ !verifyTime(undefined, extractedProperties.subjectConfirmation.notOnOrAfter, self.entitySetting.clockDrifts)) {
100
+ return 'ERR_SUBJECT_UNCONFIRMED';
101
+ }
102
+ return null;
103
+ }
104
+ function validateEndpointConstraints(parserType, extractedProperties, self, from) {
105
+ const requestData = extractedProperties?.request ?? {};
106
+ const responseData = extractedProperties?.response ?? {};
107
+ const subjectConfirmation = extractedProperties?.subjectConfirmation ?? {};
108
+ switch (parserType) {
109
+ case ParserType.SAMLRequest: {
110
+ const validSsoUrls = collectServiceLocations(self?.entityMeta, 'singleSignOnService');
111
+ if (requestData.destination &&
112
+ validSsoUrls.length > 0 &&
113
+ !matchesKnownEndpoint(requestData.destination, validSsoUrls)) {
114
+ return 'ERR_INVALID_DESTINATION';
115
+ }
116
+ const assertionConsumerServiceUrl = requestData.assertionConsumerServiceUrl ??
117
+ requestData.assertionConsumerServiceURL;
118
+ const validAcsUrls = collectServiceLocations(from?.entityMeta, 'assertionConsumerService');
119
+ if (assertionConsumerServiceUrl &&
120
+ validAcsUrls.length > 0 &&
121
+ !matchesKnownEndpoint(assertionConsumerServiceUrl, validAcsUrls)) {
122
+ return 'ERR_INVALID_ASSERTION_CONSUMER_SERVICE';
123
+ }
124
+ return null;
125
+ }
126
+ case ParserType.SAMLResponse: {
127
+ const validAcsUrls = collectServiceLocations(self?.entityMeta, 'assertionConsumerService');
128
+ if (validAcsUrls.length === 0) {
129
+ return null;
130
+ }
131
+ if (!matchesKnownEndpoint(responseData.destination, validAcsUrls)) {
132
+ return 'ERR_INVALID_DESTINATION';
133
+ }
134
+ if (!matchesKnownEndpoint(subjectConfirmation.recipient, validAcsUrls)) {
135
+ return 'ERR_INVALID_RECIPIENT';
136
+ }
137
+ if (responseData.destination !== subjectConfirmation.recipient) {
138
+ return 'ERR_DESTINATION_RECIPIENT_MISMATCH';
139
+ }
140
+ if (responseData.inResponseTo &&
141
+ subjectConfirmation.inResponseTo &&
142
+ responseData.inResponseTo !== subjectConfirmation.inResponseTo) {
143
+ return 'ERR_UNMATCH_IN_RESPONSE_TO';
144
+ }
145
+ return null;
146
+ }
147
+ case ParserType.LogoutRequest:
148
+ case ParserType.LogoutResponse: {
149
+ const validSloUrls = collectServiceLocations(self?.entityMeta, 'singleLogoutService');
150
+ const destination = parserType === ParserType.LogoutRequest
151
+ ? requestData.destination
152
+ : responseData.destination;
153
+ if (destination &&
154
+ validSloUrls.length > 0 &&
155
+ !matchesKnownEndpoint(destination, validSloUrls)) {
156
+ return 'ERR_INVALID_LOGOUT_DESTINATION';
157
+ }
158
+ return null;
159
+ }
160
+ default:
161
+ return null;
162
+ }
163
+ }
164
+ function runCommonValidation(parserType, extractedProperties, self, from) {
165
+ const issuerError = validateIssuer(parserType, extractedProperties, from.entityMeta.getEntityID());
166
+ if (issuerError) {
167
+ return issuerError;
168
+ }
169
+ const timeError = validateResponseTimes(parserType, extractedProperties, self);
170
+ if (timeError) {
171
+ return timeError;
172
+ }
173
+ return validateEndpointConstraints(parserType, extractedProperties, self, from);
174
+ }
27
175
  // proceed the redirect binding flow
28
176
  async function redirectFlow(options) {
29
177
  const { request, parserType, self, checkSignature = true, from } = options;
@@ -87,39 +235,12 @@ async function redirectFlow(options) {
87
235
  }
88
236
  parseResult.sigAlg = decodeSigAlg;
89
237
  }
90
- /**
91
- * Validation part: validate the context of response after signature is verified and decrypted (optional)
92
- */
93
- const issuer = targetEntityMetadata.getEntityID();
94
- const extractedProperties = parseResult.extract;
95
- // unmatched issuer
96
- if ((parserType === 'LogoutResponse' || parserType === 'SAMLResponse')
97
- && extractedProperties
98
- && extractedProperties.issuer !== issuer) {
99
- return Promise.reject('ERR_UNMATCH_ISSUER');
100
- }
101
- // invalid session time
102
- // only run the verifyTime when `SessionNotOnOrAfter` exists
103
- if (parserType === 'SAMLResponse'
104
- && extractedProperties.sessionIndex.sessionNotOnOrAfter
105
- && !verifyTime(undefined, extractedProperties.sessionIndex.sessionNotOnOrAfter, self.entitySetting.clockDrifts)) {
106
- return Promise.reject('ERR_EXPIRED_SESSION');
107
- }
108
- // invalid time
109
- // 2.4.1.2 https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
110
- if (parserType === 'SAMLResponse'
111
- && extractedProperties.conditions
112
- && !verifyTime(extractedProperties.conditions.notBefore, extractedProperties.conditions.notOnOrAfter, self.entitySetting.clockDrifts)) {
113
- return Promise.reject('ERR_CONDITION_UNCONFIRMED');
114
- }
115
- if (parserType === 'SAMLResponse') {
116
- let destination = extractedProperties?.response?.destination;
117
- let isExit = self.entitySetting?.assertionConsumerService?.filter((item) => {
118
- return item?.location === destination;
119
- });
120
- if (isExit?.length === 0) {
238
+ const validationError = runCommonValidation(parserType, parseResult.extract, self, from);
239
+ if (validationError) {
240
+ if (validationError === 'ERR_INVALID_DESTINATION') {
121
241
  return Promise.reject('ERR_Destination_URL');
122
242
  }
243
+ return Promise.reject(validationError);
123
244
  }
124
245
  return Promise.resolve(parseResult);
125
246
  }
@@ -170,25 +291,35 @@ async function postFlow(options) {
170
291
  };
171
292
  // 检查验证结果
172
293
  if (!verificationResult.status) {
173
- // 如果验证失败,根据具体情况返回错误
174
- /** 需要判断是不是 */
175
- if (verificationResult.isMessageSigned && !verificationResult.MessageSignatureStatus) {
176
- return Promise.reject('ERR_FAIL_TO_VERIFY_MESSAGE_SIGNATURE');
177
- }
178
- if (verificationResult.isAssertionSigned && !verificationResult.AssertionSignatureStatus) {
179
- return Promise.reject('ERR_FAIL_TO_VERIFY_ASSERTION_SIGNATURE');
180
- }
181
- if (verificationResult.encrypted && !verificationResult.decrypted) {
182
- return Promise.reject('ERR_FAIL_TO_DECRYPT_ASSERTION');
294
+ if (!checkSignature &&
295
+ parserType === urlParams.samlRequest &&
296
+ !verificationResult.isMessageSigned &&
297
+ !verificationResult.isAssertionSigned &&
298
+ !verificationResult.encrypted) {
299
+ verificationResult.status = true;
300
+ verificationResult.samlContent = samlContent;
183
301
  }
184
- if (!verificationResult.isMessageSigned && verificationResult.type === 'LogoutRequest') {
185
- return Promise.reject('ERR_LogoutRequest_Need_Signature');
186
- }
187
- if (!verificationResult.isMessageSigned && verificationResult.type === 'LogoutResponse') {
188
- return Promise.reject('ERR_LogoutResponse_Need_Signature');
302
+ else {
303
+ // 如果验证失败,根据具体情况返回错误
304
+ /** 需要判断是不是 */
305
+ if (verificationResult.isMessageSigned && !verificationResult.MessageSignatureStatus) {
306
+ return Promise.reject('ERR_FAIL_TO_VERIFY_MESSAGE_SIGNATURE');
307
+ }
308
+ if (verificationResult.isAssertionSigned && !verificationResult.AssertionSignatureStatus) {
309
+ return Promise.reject('ERR_FAIL_TO_VERIFY_ASSERTION_SIGNATURE');
310
+ }
311
+ if (verificationResult.encrypted && !verificationResult.decrypted) {
312
+ return Promise.reject('ERR_FAIL_TO_DECRYPT_ASSERTION');
313
+ }
314
+ if (!verificationResult.isMessageSigned && verificationResult.type === 'LogoutRequest') {
315
+ return Promise.reject('ERR_LogoutRequest_Need_Signature');
316
+ }
317
+ if (!verificationResult.isMessageSigned && verificationResult.type === 'LogoutResponse') {
318
+ return Promise.reject('ERR_LogoutResponse_Need_Signature');
319
+ }
320
+ // 通用验证失败
321
+ return Promise.reject('ERR_FAIL_TO_VERIFY_SIGNATURE_OR_DECRYPTION');
189
322
  }
190
- // 通用验证失败
191
- return Promise.reject('ERR_FAIL_TO_VERIFY_SIGNATURE_OR_DECRYPTION');
192
323
  }
193
324
  // 更新samlContent为验证后的版本(可能已解密)
194
325
  samlContent = verificationResult.samlContent;
@@ -204,121 +335,9 @@ async function postFlow(options) {
204
335
  samlContent: samlContent,
205
336
  extract: extract(samlContent, extractorFields),
206
337
  };
207
- /**
208
- * Validation part: validate the context of response after signature is verified and decrypted (optional)
209
- */
210
- const targetEntityMetadata = from.entityMeta;
211
- const issuer = targetEntityMetadata.getEntityID();
212
- const extractedProperties = parseResult.extract;
213
- // unmatched issuer
214
- if ((parserType === 'LogoutResponse' || parserType === 'SAMLResponse')
215
- && extractedProperties
216
- && extractedProperties.issuer !== issuer) {
217
- return Promise.reject('ERR_UNMATCH_ISSUER');
218
- }
219
- // invalid session time
220
- // only run the verifyTime when `SessionNotOnOrAfter` exists
221
- if (parserType === 'SAMLResponse'
222
- && extractedProperties.sessionIndex.sessionNotOnOrAfter
223
- && !verifyTime(undefined, extractedProperties.sessionIndex.sessionNotOnOrAfter, self.entitySetting.clockDrifts)) {
224
- return Promise.reject('ERR_EXPIRED_SESSION');
225
- }
226
- // invalid time
227
- // 2.4.1.2 https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
228
- if (parserType === 'SAMLResponse'
229
- && extractedProperties.conditions
230
- && !verifyTime(extractedProperties.conditions.notBefore, extractedProperties.conditions.notOnOrAfter, self.entitySetting.clockDrifts)) {
231
- return Promise.reject('ERR_CONDITION_UNCONFIRMED');
232
- }
233
- // invalid subjectConfirmation time
234
- // invalid time
235
- // 2.4.1.2 https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
236
- if (parserType === 'SAMLResponse'
237
- && extractedProperties.subjectConfirmation
238
- && !verifyTime(undefined, extractedProperties.subjectConfirmation.notOnOrAfter, self.entitySetting.clockDrifts)) {
239
- return Promise.reject('ERR_SUBJECT_UNCONFIRMED');
240
- }
241
- // ============================
242
- // VALIDATE Destination & Recipient
243
- // ============================
244
- const { type } = verificationResult;
245
- const { response, subjectConfirmation } = extractedProperties || {};
246
- // 获取 SP 配置的所有合法 ACS URLs(用于比对)
247
- const validACSUrls = (self?.entityMeta?.meta?.assertionConsumerService || [])
248
- .map((item) => item.location)
249
- .filter(Boolean);
250
- /**
251
- * Helper: Check if a given URL is in the list of valid ACS endpoints
252
- */
253
- function isValidACSEndpoint(url) {
254
- return url != null && validACSUrls.includes(url);
255
- }
256
- // 根据消息类型执行不同的验证
257
- switch (type) {
258
- case 'Response': // SAML Response (Login)
259
- {
260
- // 1. 验证协议层 Destination(必须匹配 ACS)
261
- const destination = response?.destination;
262
- if (!isValidACSEndpoint(destination)) {
263
- return Promise.reject('ERR_INVALID_DESTINATION');
264
- }
265
- // 2. 验证断言层 Recipient(必须匹配 ACS,且通常应等于 Destination)
266
- const recipient = subjectConfirmation?.recipient;
267
- if (!isValidACSEndpoint(recipient)) {
268
- return Promise.reject('ERR_INVALID_RECIPIENT');
269
- }
270
- // 可选:强制 Destination === Recipient(推荐)
271
- if (destination !== recipient) {
272
- // 注意:某些 IdP 可能不严格一致,但安全起见建议开启
273
- return Promise.reject('ERR_DESTINATION_RECIPIENT_MISMATCH');
274
- }
275
- }
276
- break;
277
- case 'LogoutRequest': // IdP 发起的单点登出
278
- {
279
- // LogoutRequest 是 IdP → SP,SP 是接收方
280
- // 必须验证 Destination 是否为 SP 的 SLO endpoint(Single Logout Service)
281
- const destination = response?.destination; // 注意:LogoutRequest 的 root 元素是 <samlp:LogoutRequest>
282
- /** 必须检查是否为对象*/
283
- let singleLogoutService = [];
284
- if (self?.entityMeta?.meta?.singleLogoutService?.binding) {
285
- // @ts-ignore
286
- singleLogoutService = [self?.entityMeta?.meta?.singleLogoutService];
287
- }
288
- else {
289
- singleLogoutService = self?.entityMeta?.meta?.singleLogoutService;
290
- }
291
- const validSLOUrls = singleLogoutService
292
- .map((item) => item.location)
293
- .filter(Boolean);
294
- if (destination && !validSLOUrls.includes(destination)) {
295
- return Promise.reject('ERR_INVALID_LOGOUT_DESTINATION');
296
- }
297
- // LogoutRequest 通常**不包含 Assertion**,所以无 Recipient
298
- // 如果有嵌套断言(罕见),可额外处理,但一般不需要
299
- }
300
- break;
301
- case 'LogoutResponse': // SP → IdP 的登出响应
302
- {
303
- // LogoutResponse 是 SP → IdP,IdP 是接收方
304
- // 此时 SP 是发送方,**不应验证 Destination 是否属于自身**
305
- // 而应由 IdP 验证。因此 SP 端通常**跳过 Destination 验证**
306
- // 但如果你作为 SP 也要校验(比如防止发错),可对比 IdP 的 SLO URL
307
- // —— 但你的 entityMeta 是 SP 自身,没有 IdP 的 SLO,所以一般不验
308
- // ✅ 所以:LogoutResponse 在 SP 端通常**无需验证 Destination/Recipient**
309
- }
310
- break;
311
- case 'AuthnRequest': // SP → IdP 的认证请求
312
- {
313
- // AuthnRequest 是 SP 发出的,不是接收的
314
- // 此验证逻辑运行在 SP 接收响应时,**不会收到 AuthnRequest**
315
- // 所以这个 case 实际不会触发,保留仅为完整性
316
- }
317
- break;
318
- case 'Unknown':
319
- default:
320
- // 未知类型,保守拒绝
321
- return Promise.reject('ERR_UNKNOWN_SAML_MESSAGE_TYPE');
338
+ const validationError = runCommonValidation(parserType, parseResult.extract, self, from);
339
+ if (validationError) {
340
+ return Promise.reject(validationError);
322
341
  }
323
342
  return Promise.resolve({
324
343
  ...parseResult,
@@ -389,44 +408,12 @@ async function postArtifactFlow(options) {
389
408
  samlContent: samlContent,
390
409
  extract: extract(samlContent, extractorFields),
391
410
  };
392
- /**
393
- * Validation part: validate the context of response after signature is verified and decrypted (optional)
394
- */
395
- const targetEntityMetadata = from.entityMeta;
396
- const issuer = targetEntityMetadata.getEntityID();
397
- const extractedProperties = parseResult.extract;
398
- // unmatched issuer
399
- if ((parserType === 'LogoutResponse' || parserType === 'SAMLResponse')
400
- && extractedProperties
401
- && extractedProperties.issuer !== issuer) {
402
- return Promise.reject('ERR_UNMATCH_ISSUER');
403
- }
404
- // invalid session time
405
- // only run the verifyTime when `SessionNotOnOrAfter` exists
406
- if (parserType === 'SAMLResponse'
407
- && extractedProperties.sessionIndex.sessionNotOnOrAfter
408
- && !verifyTime(undefined, extractedProperties.sessionIndex.sessionNotOnOrAfter, self.entitySetting.clockDrifts)) {
409
- return Promise.reject('ERR_EXPIRED_SESSION');
410
- }
411
- // invalid time
412
- // 2.4.1.2 https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
413
- if (parserType === 'SAMLResponse'
414
- && extractedProperties.conditions
415
- && !verifyTime(extractedProperties.conditions.notBefore, extractedProperties.conditions.notOnOrAfter, self.entitySetting.clockDrifts)) {
416
- return Promise.reject('ERR_CONDITION_UNCONFIRMED');
417
- }
418
- //valid destination
419
- //There is no validation of the response here. The upper-layer application
420
- // should verify the result by itself to see if the destination is equal to the SP acs and
421
- // whether the response.id is used to prevent replay attacks.
422
- if (parserType === 'SAMLResponse') {
423
- let destination = extractedProperties?.response?.destination;
424
- let isExit = self?.entityMeta?.meta?.assertionConsumerService?.filter((item) => {
425
- return item?.location === destination;
426
- });
427
- if (isExit?.length === 0) {
411
+ const validationError = runCommonValidation(parserType, parseResult.extract, self, from);
412
+ if (validationError) {
413
+ if (validationError === 'ERR_INVALID_DESTINATION') {
428
414
  return Promise.reject('ERR_Destination_URL');
429
415
  }
416
+ return Promise.reject(validationError);
430
417
  }
431
418
  return Promise.resolve(parseResult);
432
419
  }
@@ -491,39 +478,12 @@ async function postSimpleSignFlow(options) {
491
478
  }
492
479
  parseResult.sigAlg = sigAlg;
493
480
  }
494
- /**
495
- * Validation part: validate the context of response after signature is verified and decrypted (optional)
496
- */
497
- const issuer = targetEntityMetadata.getEntityID();
498
- const extractedProperties = parseResult.extract;
499
- // unmatched issuer
500
- if ((parserType === 'LogoutResponse' || parserType === 'SAMLResponse')
501
- && extractedProperties
502
- && extractedProperties.issuer !== issuer) {
503
- return Promise.reject('ERR_UNMATCH_ISSUER');
504
- }
505
- // invalid session time
506
- // only run the verifyTime when `SessionNotOnOrAfter` exists
507
- if (parserType === 'SAMLResponse'
508
- && extractedProperties.sessionIndex.sessionNotOnOrAfter
509
- && !verifyTime(undefined, extractedProperties.sessionIndex.sessionNotOnOrAfter, self.entitySetting.clockDrifts)) {
510
- return Promise.reject('ERR_EXPIRED_SESSION');
511
- }
512
- // invalid time
513
- // 2.4.1.2 https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
514
- if (parserType === 'SAMLResponse'
515
- && extractedProperties.conditions
516
- && !verifyTime(extractedProperties.conditions.notBefore, extractedProperties.conditions.notOnOrAfter, self.entitySetting.clockDrifts)) {
517
- return Promise.reject('ERR_CONDITION_UNCONFIRMED');
518
- }
519
- if (parserType === 'SAMLResponse') {
520
- let destination = extractedProperties?.response?.destination;
521
- let isExit = self?.entityMeta?.meta?.assertionConsumerService?.filter((item) => {
522
- return item?.location === destination;
523
- });
524
- if (isExit?.length === 0) {
481
+ const validationError = runCommonValidation(parserType, parseResult.extract, self, from);
482
+ if (validationError) {
483
+ if (validationError === 'ERR_INVALID_DESTINATION') {
525
484
  return Promise.reject('ERR_Destination_URL');
526
485
  }
486
+ return Promise.reject(validationError);
527
487
  }
528
488
  return Promise.resolve(parseResult);
529
489
  }
@@ -1013,8 +1013,9 @@ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="{ID}"
1013
1013
  pem: Buffer.from(`-----BEGIN CERTIFICATE-----${encryptPem}-----END CERTIFICATE-----`),
1014
1014
  encryptionAlgorithm: sourceEntitySetting.dataEncryptionAlgorithm,
1015
1015
  keyEncryptionAlgorithm: sourceEntitySetting.keyEncryptionAlgorithm,
1016
- keyEncryptionDigest: sourceEntitySetting.keyEncryptionDigest ?? 'sha256', // default sha256
1017
- keyEncryptionMgf1: sourceEntitySetting.keyEncryptionMgf1 ?? 'sha256',
1016
+ keyEncryptionDigest: sourceEntitySetting.keyEncryptionDigest,
1017
+ keyEncryptionMgf1: sourceEntitySetting.keyEncryptionMgf1,
1018
+ keyEncryptionOAEPParams: sourceEntitySetting.keyEncryptionOAEPParams,
1018
1019
  disallowEncryptionWithInsecureAlgorithm: sourceEntitySetting.disallowEncryptionWithInsecureAlgorithm, // 禁止使用rsa-1_5 tripledes-cbc
1019
1020
  disallowInsecureEncryption: sourceEntitySetting.disallowInsecureEncryption, //禁aes cbc系列加密算法
1020
1021
  disallowInsecureHash: sourceEntitySetting.disallowInsecureHash, //禁止使用不安全的签名hash算法,不包括mgf1
@@ -1183,7 +1184,7 @@ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="{ID}"
1183
1184
  if (!result) {
1184
1185
  return reject(new Error('ERR_EMPTY_DECRYPTED_ASSERTION'));
1185
1186
  }
1186
- resolve(result);
1187
+ resolve(typeof result === 'string' ? result : result.toString());
1187
1188
  });
1188
1189
  });
1189
1190
  // 5. 创建解密断言的 DOM
@@ -29,16 +29,15 @@ export function applyAuthnRequestEnhancements(rawSamlRequest, enhancements) {
29
29
  if (enhancements.providerName) {
30
30
  authnRequestElement.setAttribute('ProviderName', enhancements.providerName);
31
31
  }
32
- // 2. 添加 Scoping 元素
33
- if (enhancements.scoping) {
34
- const scopingElement = buildScopingElement(enhancements.scoping, doc);
35
- authnRequestElement.appendChild(scopingElement);
36
- }
37
- // 3. 添加 RequestedAuthnContext 元素
32
+ // AuthnRequestType 要求 RequestedAuthnContext 先于 Scoping
38
33
  if (enhancements.requestedAuthnContext) {
39
34
  const contextElement = buildRequestedAuthnContextElement(enhancements.requestedAuthnContext, doc);
40
35
  authnRequestElement.appendChild(contextElement);
41
36
  }
37
+ if (enhancements.scoping) {
38
+ const scopingElement = buildScopingElement(enhancements.scoping, doc);
39
+ authnRequestElement.appendChild(scopingElement);
40
+ }
42
41
  return new XMLSerializer().serializeToString(doc);
43
42
  }
44
43
  /**
@@ -30,15 +30,7 @@ export function buildScoping(config) {
30
30
  if (config.proxyCount !== undefined) {
31
31
  scoping['samlp:Scoping'][0]._attr.ProxyCount = config.proxyCount.toString();
32
32
  }
33
- // 添加 RequesterID 元素
34
- if (config.requesterID && config.requesterID.length > 0) {
35
- config.requesterID.forEach(id => {
36
- scoping['samlp:Scoping'].push({
37
- 'samlp:RequesterID': [{ _attr: { URI: id } }]
38
- });
39
- });
40
- }
41
- // 添加 IDPList 元素
33
+ // SAML Core 要求 IDPList 先于 RequesterID 出现
42
34
  if (config.idpList && config.idpList.length > 0) {
43
35
  const idpList = { 'samlp:IDPList': [] };
44
36
  config.idpList.forEach(entry => {
@@ -55,6 +47,14 @@ export function buildScoping(config) {
55
47
  });
56
48
  scoping['samlp:Scoping'].push(idpList);
57
49
  }
50
+ // RequesterID 的类型是 anyURI,值必须写在元素文本中而不是属性里
51
+ if (config.requesterID && config.requesterID.length > 0) {
52
+ config.requesterID.forEach(id => {
53
+ scoping['samlp:Scoping'].push({
54
+ 'samlp:RequesterID': [id]
55
+ });
56
+ });
57
+ }
58
58
  return scoping;
59
59
  }
60
60
  /**
@@ -86,7 +86,7 @@ export function buildRequestedAuthnContext(config) {
86
86
  if (config.declRefs && config.declRefs.length > 0) {
87
87
  config.declRefs.forEach(ref => {
88
88
  requestedAuthnContext['samlp:RequestedAuthnContext'].push({
89
- 'saml:AuthnContextDeclRef': [{ _attr: { URI: ref } }]
89
+ 'saml:AuthnContextDeclRef': [ref]
90
90
  });
91
91
  });
92
92
  }
@@ -292,14 +292,13 @@ export function enhanceAuthnRequest(baseAuthnRequest, enhancedConfig) {
292
292
  }
293
293
  authnRequestContent[0]._attr.ProviderName = enhancedConfig.providerName;
294
294
  }
295
- // 添加 Scoping 元素
296
- if (enhancedConfig.scoping) {
297
- authnRequestContent.push(buildScoping(enhancedConfig.scoping));
298
- }
299
- // 添加 RequestedAuthnContext 元素
295
+ // AuthnRequestType 的序列顺序为 RequestedAuthnContext 在前、Scoping 在后
300
296
  if (enhancedConfig.requestedAuthnContext) {
301
297
  authnRequestContent.push(buildRequestedAuthnContext(enhancedConfig.requestedAuthnContext));
302
298
  }
299
+ if (enhancedConfig.scoping) {
300
+ authnRequestContent.push(buildScoping(enhancedConfig.scoping));
301
+ }
303
302
  return authnRequest;
304
303
  }
305
304
  /**
package/build/src/urn.js CHANGED
@@ -272,7 +272,7 @@ const algorithms = {
272
272
  // --- RSA OAEP (推荐) ---
273
273
  // 默认使用 SHA-1 的 OAEP (XML Enc 1.0)
274
274
  RSA_OAEP_MGF1P: 'http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p',
275
- // XML Enc 1.1 的通用 OAEP (通常配合 DigestMethod 参数使用 SHA-256)
275
+ // XML Enc 1.1 的通用 OAEP (规范默认仍为 SHA-1,可显式搭配 DigestMethod/MGF 使用 SHA-256)
276
276
  RSA_OAEP: 'http://www.w3.org/2009/xmlenc11#rsa-oaep',
277
277
  // --- RSA PKCS#1 v1.5 (旧标准,不推荐,但广泛存在) ---
278
278
  RSA_1_5: 'http://www.w3.org/2001/04/xmlenc#rsa-1_5',
package/package.json CHANGED
@@ -1,87 +1,87 @@
1
- {
2
- "name": "samlesa",
3
- "version": "4.4.0",
4
- "description": "High-level API for Single Sign On (SAML 2.0) baseed on samlify ",
5
- "main": "build/index.js",
6
- "keywords": [
7
- "nodejs",
8
- "saml2",
9
- "sso",
10
- "slo",
11
- "metadata"
12
- ],
13
- "type": "module",
14
- "typings": "types/index.d.ts",
15
- "homepage": "https://saml.veclea.com",
16
- "scripts": {
17
- "build": "tsc && copyfiles -u 1 src/schema/**/* build/src",
18
- "build:fast": "tsc",
19
- "build:clean": "tsc --build --clean && pnpm run build",
20
- "docs:dev": "cd docs && npm run docs:dev",
21
- "docs:build": "cd docs && npm run docs:build",
22
- "docs:preview": "cd docs && npm run docs:preview",
23
- "docs:deploy": "vercel --prod",
24
- "lint": "tslint -p .",
25
- "lint:fix": "tslint -p . --fix",
26
- "test": "vitest run",
27
- "test:watch": "vitest",
28
- "test:coverage": "vitest run --coverage",
29
- "test:fast": "vitest run --pool=forks",
30
- "test:artifact": "vitest run test/artifact.test.ts",
31
- "generate-certs": "node scripts/generate-certs.js",
32
- "hooks:postinstall": "mklink /J .git\\hooks\\pre-commit .pre-commit.sh || copy .pre-commit.sh .git\\hooks\\pre-commit"
33
- },
34
- "exports": {
35
- ".": {
36
- "types": "./types/index.d.ts",
37
- "import": "./build/index.js"
38
- }
39
- },
40
- "files": [
41
- "build",
42
- "types"
43
- ],
44
- "contributors": [
45
- "Veclea <vemocle@gmail.com>"
46
- ],
47
- "author": "Veclea",
48
- "repository": {
49
- "url": "https://github.com/Veclea/samlify.git",
50
- "type": "git"
51
- },
52
- "bugs": {
53
- "url": "https://github.com/Veclea/samlify/issues"
54
- },
55
- "docs": "https://saml.veclea.com",
56
- "license": "MIT",
57
- "dependencies": {
58
- "@xmldom/xmldom": "^0.9.10",
59
- "axios": "^1.15.2",
60
- "camelcase": "^9.0.0",
61
- "cross-env": "^10.1.0",
62
- "iconv-lite": "^0.7.2",
63
- "ts-node": "^10.9.2",
64
- "vite-tsconfig-paths": "^6.1.1",
65
- "xml": "^1.0.1",
66
- "xml-crypto-next": "^8.0.0",
67
- "xml-encryption-next": "^5.0.0",
68
- "xml-escape": "^1.1.0",
69
- "xml2js": "^0.6.2",
70
- "xmllint-wasm": "^5.2.0",
71
- "xpath": "^0.0.34"
72
- },
73
- "devDependencies": {
74
- "@types/node": "^25.6.0",
75
- "@types/pako": "2.0.4",
76
- "@types/uuid": "11.0.0",
77
- "@vitest/coverage-istanbul": "^4.1.5",
78
- "@vitest/coverage-v8": "4.1.5",
79
- "copyfiles": "^2.4.1",
80
- "coveralls": "^3.1.1",
81
- "esbuild": "^0.28.0",
82
- "jsdom": "^29.0.2",
83
- "timekeeper": "^2.3.1",
84
- "typescript": "6.0.3",
85
- "vitest": "^4.1.5"
86
- }
87
- }
1
+ {
2
+ "name": "samlesa",
3
+ "version": "4.6.0",
4
+ "description": "High-level API for Single Sign On (SAML 2.0) baseed on samlify ",
5
+ "main": "build/index.js",
6
+ "keywords": [
7
+ "nodejs",
8
+ "saml2",
9
+ "sso",
10
+ "slo",
11
+ "metadata"
12
+ ],
13
+ "type": "module",
14
+ "typings": "types/index.d.ts",
15
+ "homepage": "https://saml.veclea.com",
16
+ "scripts": {
17
+ "build": "tsc && copyfiles -u 1 src/schema/**/* build/src",
18
+ "build:fast": "tsc",
19
+ "build:clean": "tsc --build --clean && pnpm run build",
20
+ "docs:dev": "cd docs && npm run docs:dev",
21
+ "docs:build": "cd docs && npm run docs:build",
22
+ "docs:preview": "cd docs && npm run docs:preview",
23
+ "docs:deploy": "vercel --prod",
24
+ "lint": "tslint -p .",
25
+ "lint:fix": "tslint -p . --fix",
26
+ "test": "vitest run",
27
+ "test:watch": "vitest",
28
+ "test:coverage": "vitest run --coverage",
29
+ "test:fast": "vitest run --pool=forks",
30
+ "test:artifact": "vitest run test/artifact.test.ts",
31
+ "generate-certs": "node scripts/generate-certs.js",
32
+ "hooks:postinstall": "mklink /J .git\\hooks\\pre-commit .pre-commit.sh || copy .pre-commit.sh .git\\hooks\\pre-commit"
33
+ },
34
+ "exports": {
35
+ ".": {
36
+ "types": "./types/index.d.ts",
37
+ "import": "./build/index.js"
38
+ }
39
+ },
40
+ "files": [
41
+ "build",
42
+ "types"
43
+ ],
44
+ "contributors": [
45
+ "Veclea <vemocle@gmail.com>"
46
+ ],
47
+ "author": "Veclea",
48
+ "repository": {
49
+ "url": "https://github.com/Veclea/samlify.git",
50
+ "type": "git"
51
+ },
52
+ "bugs": {
53
+ "url": "https://github.com/Veclea/samlify/issues"
54
+ },
55
+ "docs": "https://saml.veclea.com",
56
+ "license": "MIT",
57
+ "dependencies": {
58
+ "@xmldom/xmldom": "^0.9.10",
59
+ "axios": "^1.15.2",
60
+ "camelcase": "^9.0.0",
61
+ "cross-env": "^10.1.0",
62
+ "iconv-lite": "^0.7.2",
63
+ "ts-node": "^10.9.2",
64
+ "vite-tsconfig-paths": "^6.1.1",
65
+ "xml": "^1.0.1",
66
+ "xml-crypto-next": "^8.1.0",
67
+ "xml-encryption-next": "^5.1.0",
68
+ "xml-escape": "^1.1.0",
69
+ "xml2js": "^0.6.2",
70
+ "xmllint-wasm": "^5.2.0",
71
+ "xpath": "^0.0.34"
72
+ },
73
+ "devDependencies": {
74
+ "@types/node": "^25.6.0",
75
+ "@types/pako": "2.0.4",
76
+ "@types/uuid": "11.0.0",
77
+ "@vitest/coverage-istanbul": "^4.1.5",
78
+ "@vitest/coverage-v8": "4.1.5",
79
+ "copyfiles": "^2.4.1",
80
+ "coveralls": "^3.1.1",
81
+ "esbuild": "^0.28.0",
82
+ "jsdom": "^29.0.2",
83
+ "timekeeper": "^2.3.1",
84
+ "typescript": "6.0.3",
85
+ "vitest": "^4.1.5"
86
+ }
87
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/extractor.ts"],"names":[],"mappings":"AAMA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAEnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,MAAM,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC;AA4B/C,eAAO,MAAM,kBAAkB,EAAE,eAsFhC,CAAC;AAKF,eAAO,MAAM,qBAAqB,EAAE,eAsBnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,eAsBpC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,eAGvC,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,eAG/C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,eAGxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,KAAK,eAAe,CAWrE,CAAC;AAqMF,eAAO,MAAM,mBAAmB,EAAE,eAMjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAIlC,CAAC;AAKF,eAAO,MAAM,iBAAiB,EAAE,eAiI/B,CAAC;AAOF,eAAO,MAAM,gBAAgB,EAAE,eAyL9B,CAAC;AAEF,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,OAiN/D;AASD,eAAO,MAAM,2BAA2B,EAAE,eAkZzC,CAAC;AAIF;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,OAkRrE;AAKD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,OAE5C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,OAEzC;AAGD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,OAExC;AACD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,OAEjD;AACD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,OAE9C;AACD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,OAErD"}
1
+ {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/extractor.ts"],"names":[],"mappings":"AAMA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAEnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,MAAM,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC;AA4B/C,eAAO,MAAM,kBAAkB,EAAE,eAsFhC,CAAC;AAKF,eAAO,MAAM,qBAAqB,EAAE,eAsBnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,eAsBpC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,eAGvC,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,eAG/C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,eAGxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,KAAK,eAAe,CAYrE,CAAC;AAqMF,eAAO,MAAM,mBAAmB,EAAE,eAMjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAIlC,CAAC;AAKF,eAAO,MAAM,iBAAiB,EAAE,eAiI/B,CAAC;AAOF,eAAO,MAAM,gBAAgB,EAAE,eAyL9B,CAAC;AAEF,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,OAiN/D;AASD,eAAO,MAAM,2BAA2B,EAAE,eAkZzC,CAAC;AAIF;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,OAkRrE;AAKD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,OAE5C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,OAEzC;AAGD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,OAExC;AACD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,OAEjD;AACD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,OAE9C;AACD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,OAErD"}
@@ -1 +1 @@
1
- {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/flow.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,UAAU;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAosBD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BhG;AAED,wBAAgB,IAAI,CAAC,OAAO,KAAA,GAAG,OAAO,CAAC,UAAU,CAAC,CA0BjD"}
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/flow.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,UAAU;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAynBD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BhG;AAED,wBAAgB,IAAI,CAAC,OAAO,KAAA,GAAG,OAAO,CAAC,UAAU,CAAC,CA0BjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"libsaml.d.ts","sourceRoot":"","sources":["../../src/libsaml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libsaml.d.ts","sourceRoot":"","sources":["../../src/libsaml.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"saml2-enhancements-integration.d.ts","sourceRoot":"","sources":["../../src/saml2-enhancements-integration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EASH,oBAAoB,EACpB,OAAO,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACR,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACzB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,0BAA0B,GACzC,MAAM,CAsCR;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,wBAAwB,GACvC,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,oCAAoC,CAChD,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,6BAA6B,GAC5C,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACrC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,sBAAsB,GACrC,MAAM,CAuBR;AAkDD,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"saml2-enhancements-integration.d.ts","sourceRoot":"","sources":["../../src/saml2-enhancements-integration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EASH,oBAAoB,EACpB,OAAO,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACR,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACzB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,0BAA0B,GACzC,MAAM,CAqCR;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,wBAAwB,GACvC,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,oCAAoC,CAChD,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,6BAA6B,GAC5C,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACrC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,sBAAsB,GACrC,MAAM,CAuBR;AAkDD,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"saml2-enhancements.d.ts","sourceRoot":"","sources":["../../src/saml2-enhancements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saml2-enhancements.d.ts","sourceRoot":"","sources":["../../src/saml2-enhancements.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,8 @@ export interface ProxyRestrictionConfig {
83
83
  export interface SubjectConfirmationDataConfig {
84
84
  address?: string;
85
85
  notBefore?: string;
86
+ notOnOrAfter: string;
87
+ recipient?: string;
86
88
  inResponseTo?: string;
87
89
  }
88
90
  /**
@@ -203,6 +205,12 @@ export type ServiceProviderSettings = {
203
205
  requestSignatureAlgorithm?: string;
204
206
  encPrivateKey?: string | Buffer;
205
207
  encPrivateKeyPass?: string | Buffer;
208
+ dataEncryptionAlgorithm?: string;
209
+ keyEncryptionAlgorithm?: string;
210
+ keyEncryptionDigest?: 'sha1' | 'sha256' | 'sha384' | 'sha512';
211
+ keyEncryptionMgf1?: 'sha1' | 'sha224' | 'sha256' | 'sha384' | 'sha512';
212
+ /** base64 encoded OAEPparams or raw bytes */
213
+ keyEncryptionOAEPParams?: string | Buffer;
206
214
  assertionConsumerService?: SSOService[];
207
215
  singleLogoutService?: SSOService[];
208
216
  signatureConfig?: SignatureConfig;
@@ -243,6 +251,12 @@ export type IdentityProviderSettings = {
243
251
  isAssertionEncrypted?: boolean;
244
252
  encPrivateKey?: string | Buffer;
245
253
  encPrivateKeyPass?: string;
254
+ dataEncryptionAlgorithm?: string;
255
+ keyEncryptionAlgorithm?: string;
256
+ keyEncryptionDigest?: 'sha1' | 'sha256' | 'sha384' | 'sha512';
257
+ keyEncryptionMgf1?: 'sha1' | 'sha224' | 'sha256' | 'sha384' | 'sha512';
258
+ /** base64 encoded OAEPparams or raw bytes */
259
+ keyEncryptionOAEPParams?: string | Buffer;
246
260
  messageSigningOrder?: string;
247
261
  wantLogoutRequestSigned?: boolean;
248
262
  wantLogoutResponseSigned?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}