samlify 2.11.0 → 2.13.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 +1 -1
- package/build/src/api.js +52 -3
- package/build/src/api.js.map +1 -1
- package/build/src/binding-post.js +236 -182
- package/build/src/binding-post.js.map +1 -1
- package/build/src/binding-redirect.js +303 -215
- package/build/src/binding-redirect.js.map +1 -1
- package/build/src/binding-simplesign.js +285 -137
- package/build/src/binding-simplesign.js.map +1 -1
- package/build/src/entity-idp.js +130 -47
- package/build/src/entity-idp.js.map +1 -1
- package/build/src/entity-sp.js +81 -39
- package/build/src/entity-sp.js.map +1 -1
- package/build/src/entity.js +100 -62
- package/build/src/entity.js.map +1 -1
- package/build/src/extractor.js +119 -155
- package/build/src/extractor.js.map +1 -1
- package/build/src/flow.js +100 -96
- package/build/src/flow.js.map +1 -1
- package/build/src/libsaml.js +318 -261
- package/build/src/libsaml.js.map +1 -1
- package/build/src/metadata-idp.js +60 -30
- package/build/src/metadata-idp.js.map +1 -1
- package/build/src/metadata-sp.js +51 -41
- package/build/src/metadata-sp.js.map +1 -1
- package/build/src/metadata.js +47 -43
- package/build/src/metadata.js.map +1 -1
- package/build/src/options.js +73 -0
- package/build/src/options.js.map +1 -0
- package/build/src/urn.js +28 -1
- package/build/src/urn.js.map +1 -1
- package/build/src/utility.js +165 -83
- package/build/src/utility.js.map +1 -1
- package/build/src/validator.js +27 -10
- package/build/src/validator.js.map +1 -1
- package/package.json +17 -7
- package/types/src/api.d.ts +33 -3
- package/types/src/binding-post.d.ts +67 -34
- package/types/src/binding-redirect.d.ts +58 -31
- package/types/src/binding-simplesign.d.ts +77 -21
- package/types/src/entity-idp.d.ts +40 -31
- package/types/src/entity-sp.d.ts +37 -27
- package/types/src/entity.d.ts +71 -77
- package/types/src/extractor.d.ts +31 -22
- package/types/src/flow.d.ts +24 -2
- package/types/src/libsaml.d.ts +172 -118
- package/types/src/metadata-idp.d.ts +27 -11
- package/types/src/metadata-sp.d.ts +29 -19
- package/types/src/metadata.d.ts +59 -34
- package/types/src/options.d.ts +37 -0
- package/types/src/types.d.ts +250 -24
- package/types/src/urn.d.ts +7 -0
- package/types/src/utility.d.ts +144 -89
- package/types/src/validator.d.ts +21 -0
- package/.circleci/config.yml +0 -98
- package/.editorconfig +0 -19
- package/.github/FUNDING.yml +0 -1
- package/.github/workflows/deploy-docs.yml +0 -56
- package/.pre-commit.sh +0 -15
- package/.snyk +0 -4
- package/Makefile +0 -25
- package/index.ts +0 -28
- package/src/api.ts +0 -36
- package/src/binding-post.ts +0 -336
- package/src/binding-redirect.ts +0 -335
- package/src/binding-simplesign.ts +0 -231
- package/src/entity-idp.ts +0 -145
- package/src/entity-sp.ts +0 -114
- package/src/entity.ts +0 -243
- package/src/extractor.ts +0 -399
- package/src/flow.ts +0 -469
- package/src/libsaml.ts +0 -777
- package/src/metadata-idp.ts +0 -146
- package/src/metadata-sp.ts +0 -203
- package/src/metadata.ts +0 -166
- package/src/types.ts +0 -127
- package/src/urn.ts +0 -210
- package/src/utility.ts +0 -231
- package/src/validator.ts +0 -44
- package/tsconfig.json +0 -41
- package/tslint.json +0 -35
- package/types.d.ts +0 -2
- package/vitest.config.ts +0 -12
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* @file binding-post.ts
|
|
4
|
-
* @author tngan
|
|
5
|
-
* @desc Binding-level API
|
|
6
|
-
|
|
3
|
+
* @file binding-post.ts
|
|
4
|
+
* @author tngan
|
|
5
|
+
* @desc Binding-level API for SAML HTTP-POST. Builds base64 login/logout
|
|
6
|
+
* request and response payloads that callers embed in an auto-submitting
|
|
7
|
+
* HTML form.
|
|
8
|
+
*/
|
|
7
9
|
var __assign = (this && this.__assign) || function () {
|
|
8
10
|
__assign = Object.assign || function(t) {
|
|
9
11
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -93,81 +95,115 @@ var libsaml_1 = __importDefault(require("./libsaml"));
|
|
|
93
95
|
var utility_1 = __importStar(require("./utility"));
|
|
94
96
|
var binding = urn_1.wording.binding;
|
|
95
97
|
/**
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
* @param
|
|
99
|
-
* @param
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
* Generate a base64-encoded AuthnRequest for the HTTP-POST binding.
|
|
99
|
+
*
|
|
100
|
+
* @param referenceTagXPath XPath used when signing the request
|
|
101
|
+
* @param entity `{ idp, sp }` handles
|
|
102
|
+
* @param customTagReplacement optional custom template transformer
|
|
103
|
+
* @param forceAuthn per-request `ForceAuthn` flag (saml-core §3.4.1)
|
|
104
|
+
* @param assertionConsumerServiceIndex per-request ACS index (saml-core §3.4.1).
|
|
105
|
+
* Mutually exclusive with `AssertionConsumerServiceURL` / `ProtocolBinding`;
|
|
106
|
+
* when supplied, both of those attributes are dropped from the rendered XML.
|
|
107
|
+
* @returns id / base64-XML pair
|
|
108
|
+
*/
|
|
109
|
+
function base64LoginRequest(referenceTagXPath, entity, customTagReplacement, forceAuthn, assertionConsumerServiceIndex) {
|
|
110
|
+
var _a, _b;
|
|
102
111
|
var metadata = { idp: entity.idp.entityMeta, sp: entity.sp.entityMeta };
|
|
103
112
|
var spSetting = entity.sp.entitySetting;
|
|
104
113
|
var id = '';
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
114
|
+
/* v8 ignore start */
|
|
115
|
+
if (!metadata.idp || !metadata.sp) {
|
|
116
|
+
throw new Error('ERR_GENERATE_POST_LOGIN_REQUEST_MISSING_METADATA');
|
|
117
|
+
}
|
|
118
|
+
/* v8 ignore stop */
|
|
119
|
+
var base = metadata.idp.getSingleSignOnService(binding.post);
|
|
120
|
+
var rawSamlRequest;
|
|
121
|
+
if (customTagReplacement) {
|
|
122
|
+
// saml-bindings §3.5 — the AuthnRequest template is informative, not
|
|
123
|
+
// normative. Honour the callback regardless of whether the caller
|
|
124
|
+
// supplied a custom template (closes #549). Pass the user-supplied
|
|
125
|
+
// template when present; otherwise the library default.
|
|
126
|
+
var templateContext = (_b = (_a = spSetting.loginRequestTemplate) === null || _a === void 0 ? void 0 : _a.context) !== null && _b !== void 0 ? _b : libsaml_1.default.defaultLoginRequestTemplate.context;
|
|
127
|
+
var info = customTagReplacement(templateContext);
|
|
128
|
+
id = (0, utility_1.get)(info, 'id');
|
|
129
|
+
rawSamlRequest = (0, utility_1.get)(info, 'context');
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
var nameIDFormat = spSetting.nameIDFormat;
|
|
133
|
+
var selectedNameIDFormat = Array.isArray(nameIDFormat) ? nameIDFormat[0] : nameIDFormat;
|
|
134
|
+
id = spSetting.generateID();
|
|
135
|
+
// saml-core §3.4.1 — `AssertionConsumerServiceIndex` is mutually
|
|
136
|
+
// exclusive with `AssertionConsumerServiceURL` / `ProtocolBinding`.
|
|
137
|
+
// When the caller supplies the index we set the URL+ProtocolBinding
|
|
138
|
+
// tags to undefined so `replaceTagsByValue` drops both attributes
|
|
139
|
+
// from the rendered XML (closes #437).
|
|
140
|
+
var useAcsIndex = assertionConsumerServiceIndex !== undefined;
|
|
141
|
+
var tags = {
|
|
142
|
+
ID: id,
|
|
143
|
+
Destination: base,
|
|
144
|
+
Issuer: metadata.sp.getEntityID(),
|
|
145
|
+
IssueInstant: new Date().toISOString(),
|
|
146
|
+
ProtocolBinding: useAcsIndex
|
|
147
|
+
? undefined
|
|
148
|
+
: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
|
|
149
|
+
AssertionConsumerServiceURL: useAcsIndex
|
|
150
|
+
? undefined
|
|
151
|
+
: metadata.sp.getAssertionConsumerService(binding.post),
|
|
152
|
+
AssertionConsumerServiceIndex: assertionConsumerServiceIndex,
|
|
153
|
+
EntityID: metadata.sp.getEntityID(),
|
|
154
|
+
AllowCreate: spSetting.allowCreate,
|
|
155
|
+
NameIDFormat: selectedNameIDFormat,
|
|
156
|
+
// saml-core §3.4.1 — `replaceTagsByValue` drops the attribute when
|
|
157
|
+
// `forceAuthn` is undefined, matching `use="optional"`.
|
|
158
|
+
ForceAuthn: forceAuthn,
|
|
159
|
+
};
|
|
160
|
+
rawSamlRequest = libsaml_1.default.replaceTagsByValue(libsaml_1.default.defaultLoginRequestTemplate.context, tags);
|
|
161
|
+
}
|
|
162
|
+
if (metadata.idp.isWantAuthnRequestsSigned()) {
|
|
163
|
+
var privateKey = spSetting.privateKey, privateKeyPass = spSetting.privateKeyPass, signatureAlgorithm = spSetting.requestSignatureAlgorithm, transformationAlgorithms = spSetting.transformationAlgorithms;
|
|
148
164
|
return {
|
|
149
165
|
id: id,
|
|
150
|
-
context:
|
|
166
|
+
context: libsaml_1.default.constructSAMLSignature({
|
|
167
|
+
referenceTagXPath: referenceTagXPath,
|
|
168
|
+
privateKey: privateKey,
|
|
169
|
+
privateKeyPass: privateKeyPass,
|
|
170
|
+
signatureAlgorithm: signatureAlgorithm,
|
|
171
|
+
transformationAlgorithms: transformationAlgorithms,
|
|
172
|
+
rawSamlMessage: rawSamlRequest,
|
|
173
|
+
signingCert: metadata.sp.getX509Certificate('signing'),
|
|
174
|
+
signatureConfig: spSetting.signatureConfig || {
|
|
175
|
+
prefix: 'ds',
|
|
176
|
+
location: { reference: "/*[local-name(.)='AuthnRequest']/*[local-name(.)='Issuer']", action: 'after' },
|
|
177
|
+
},
|
|
178
|
+
}),
|
|
151
179
|
};
|
|
152
180
|
}
|
|
153
|
-
|
|
181
|
+
return {
|
|
182
|
+
id: id,
|
|
183
|
+
context: utility_1.default.base64Encode(rawSamlRequest),
|
|
184
|
+
};
|
|
154
185
|
}
|
|
155
186
|
/**
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
* @param
|
|
161
|
-
* @param
|
|
162
|
-
|
|
187
|
+
* Generate a base64-encoded login response for the HTTP-POST binding.
|
|
188
|
+
* Supports the sign-then-encrypt and encrypt-then-sign pipelines based on
|
|
189
|
+
* `encryptThenSign`.
|
|
190
|
+
*
|
|
191
|
+
* @param requestInfo parsed login request used to link `InResponseTo`
|
|
192
|
+
* @param entity `{ idp, sp }` handles
|
|
193
|
+
* @param user authenticated user
|
|
194
|
+
* @param customTagReplacement optional custom template transformer
|
|
195
|
+
* @param encryptThenSign when true, encrypt the assertion first then sign
|
|
196
|
+
* @returns id / base64-XML pair
|
|
197
|
+
*/
|
|
163
198
|
function base64LoginResponse() {
|
|
164
199
|
return __awaiter(this, arguments, void 0, function (requestInfo, entity, user, customTagReplacement, encryptThenSign) {
|
|
165
|
-
var idpSetting, spSetting, id, metadata, nameIDFormat, selectedNameIDFormat, base, rawSamlResponse, nowTime, spEntityID, fiveMinutesLaterTime, fiveMinutesLater, now, acl, tvalue, template, privateKey, privateKeyPass, signatureAlgorithm, config, context;
|
|
200
|
+
var idpSetting, spSetting, id, metadata, nameIDFormat, selectedNameIDFormat, base, rawSamlResponse, nowTime, spEntityID, fiveMinutesLaterTime, fiveMinutesLater, now, acl, tvalue, templateContext, template, baseTemplate, privateKey, privateKeyPass, signatureAlgorithm, config, context;
|
|
201
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
166
202
|
if (requestInfo === void 0) { requestInfo = {}; }
|
|
167
203
|
if (user === void 0) { user = {}; }
|
|
168
204
|
if (encryptThenSign === void 0) { encryptThenSign = false; }
|
|
169
|
-
return __generator(this, function (
|
|
170
|
-
switch (
|
|
205
|
+
return __generator(this, function (_k) {
|
|
206
|
+
switch (_k.label) {
|
|
171
207
|
case 0:
|
|
172
208
|
idpSetting = entity.idp.entitySetting;
|
|
173
209
|
spSetting = entity.sp.entitySetting;
|
|
@@ -178,9 +214,11 @@ function base64LoginResponse() {
|
|
|
178
214
|
};
|
|
179
215
|
nameIDFormat = idpSetting.nameIDFormat;
|
|
180
216
|
selectedNameIDFormat = Array.isArray(nameIDFormat) ? nameIDFormat[0] : nameIDFormat;
|
|
181
|
-
|
|
217
|
+
/* v8 ignore start */
|
|
218
|
+
if (!metadata.idp || !metadata.sp) {
|
|
219
|
+
throw new Error('ERR_GENERATE_POST_LOGIN_RESPONSE_MISSING_METADATA');
|
|
220
|
+
}
|
|
182
221
|
base = metadata.sp.getAssertionConsumerService(binding.post);
|
|
183
|
-
rawSamlResponse = void 0;
|
|
184
222
|
nowTime = new Date();
|
|
185
223
|
spEntityID = metadata.sp.getEntityID();
|
|
186
224
|
fiveMinutesLaterTime = new Date(nowTime.getTime());
|
|
@@ -199,7 +237,6 @@ function base64LoginResponse() {
|
|
|
199
237
|
IssueInstant: now,
|
|
200
238
|
AssertionConsumerServiceURL: acl,
|
|
201
239
|
StatusCode: urn_1.StatusCode.Success,
|
|
202
|
-
// can be customized
|
|
203
240
|
ConditionsNotBefore: now,
|
|
204
241
|
ConditionsNotOnOrAfter: fiveMinutesLater,
|
|
205
242
|
SubjectConfirmationDataNotOnOrAfter: fiveMinutesLater,
|
|
@@ -209,15 +246,17 @@ function base64LoginResponse() {
|
|
|
209
246
|
AuthnStatement: '',
|
|
210
247
|
AttributeStatement: '',
|
|
211
248
|
};
|
|
212
|
-
if (
|
|
213
|
-
|
|
214
|
-
|
|
249
|
+
if (customTagReplacement) {
|
|
250
|
+
templateContext = (_e = (_b = (_a = idpSetting.loginResponseTemplate) === null || _a === void 0 ? void 0 : _a.context) !== null && _b !== void 0 ? _b : (_d = (_c = idpSetting.tagPrefixedDefaults) === null || _c === void 0 ? void 0 : _c.loginResponseTemplate) === null || _d === void 0 ? void 0 : _d.context) !== null && _e !== void 0 ? _e : libsaml_1.default.defaultLoginResponseTemplate.context;
|
|
251
|
+
template = customTagReplacement(templateContext);
|
|
252
|
+
rawSamlResponse = (0, utility_1.get)(template, 'context');
|
|
215
253
|
}
|
|
216
254
|
else {
|
|
217
|
-
if (requestInfo !== null) {
|
|
255
|
+
if (requestInfo !== null && ((_f = requestInfo.extract) === null || _f === void 0 ? void 0 : _f.request)) {
|
|
218
256
|
tvalue.InResponseTo = requestInfo.extract.request.id;
|
|
219
257
|
}
|
|
220
|
-
|
|
258
|
+
baseTemplate = (_j = (_h = (_g = idpSetting.tagPrefixedDefaults) === null || _g === void 0 ? void 0 : _g.loginResponseTemplate) === null || _h === void 0 ? void 0 : _h.context) !== null && _j !== void 0 ? _j : libsaml_1.default.defaultLoginResponseTemplate.context;
|
|
259
|
+
rawSamlResponse = libsaml_1.default.replaceTagsByValue(baseTemplate, tvalue);
|
|
221
260
|
}
|
|
222
261
|
privateKey = idpSetting.privateKey, privateKeyPass = idpSetting.privateKeyPass, signatureAlgorithm = idpSetting.requestSignatureAlgorithm;
|
|
223
262
|
config = {
|
|
@@ -227,18 +266,14 @@ function base64LoginResponse() {
|
|
|
227
266
|
signingCert: metadata.idp.getX509Certificate('signing'),
|
|
228
267
|
isBase64Output: false,
|
|
229
268
|
};
|
|
230
|
-
//
|
|
269
|
+
// Order: sign assertion (if SP wants) → encrypt (if IdP wants) → sign message (if needed).
|
|
231
270
|
if (metadata.sp.isWantAssertionsSigned()) {
|
|
232
|
-
// console.debug('sp wants assertion signed');
|
|
233
271
|
rawSamlResponse = libsaml_1.default.constructSAMLSignature(__assign(__assign({}, config), { rawSamlMessage: rawSamlResponse, transformationAlgorithms: spSetting.transformationAlgorithms, referenceTagXPath: "/*[local-name(.)='Response']/*[local-name(.)='Assertion']", signatureConfig: {
|
|
234
272
|
prefix: 'ds',
|
|
235
273
|
location: { reference: "/*[local-name(.)='Response']/*[local-name(.)='Assertion']/*[local-name(.)='Issuer']", action: 'after' },
|
|
236
274
|
} }));
|
|
237
275
|
}
|
|
238
|
-
// console.debug('after assertion signed', rawSamlResponse);
|
|
239
|
-
// SAML response must be signed sign message first, then encrypt
|
|
240
276
|
if (!encryptThenSign && (spSetting.wantMessageSigned || !metadata.sp.isWantAssertionsSigned())) {
|
|
241
|
-
// console.debug('sign then encrypt and sign entire message');
|
|
242
277
|
rawSamlResponse = libsaml_1.default.constructSAMLSignature(__assign(__assign({}, config), { rawSamlMessage: rawSamlResponse, isMessageSigned: true, transformationAlgorithms: spSetting.transformationAlgorithms, signatureConfig: spSetting.signatureConfig || {
|
|
243
278
|
prefix: 'ds',
|
|
244
279
|
location: { reference: "/*[local-name(.)='Response']/*[local-name(.)='Issuer']", action: 'after' },
|
|
@@ -247,17 +282,15 @@ function base64LoginResponse() {
|
|
|
247
282
|
if (!idpSetting.isAssertionEncrypted) return [3 /*break*/, 2];
|
|
248
283
|
return [4 /*yield*/, libsaml_1.default.encryptAssertion(entity.idp, entity.sp, rawSamlResponse)];
|
|
249
284
|
case 1:
|
|
250
|
-
context =
|
|
285
|
+
context = _k.sent();
|
|
251
286
|
if (encryptThenSign) {
|
|
252
|
-
//need to decode it
|
|
253
287
|
rawSamlResponse = utility_1.default.base64Decode(context);
|
|
254
288
|
}
|
|
255
289
|
else {
|
|
256
290
|
return [2 /*return*/, Promise.resolve({ id: id, context: context })];
|
|
257
291
|
}
|
|
258
|
-
|
|
292
|
+
_k.label = 2;
|
|
259
293
|
case 2:
|
|
260
|
-
//sign after encrypting
|
|
261
294
|
if (encryptThenSign && (spSetting.wantMessageSigned || !metadata.sp.isWantAssertionsSigned())) {
|
|
262
295
|
rawSamlResponse = libsaml_1.default.constructSAMLSignature(__assign(__assign({}, config), { rawSamlMessage: rawSamlResponse, isMessageSigned: true, transformationAlgorithms: spSetting.transformationAlgorithms, signatureConfig: spSetting.signatureConfig || {
|
|
263
296
|
prefix: 'ds',
|
|
@@ -268,134 +301,155 @@ function base64LoginResponse() {
|
|
|
268
301
|
id: id,
|
|
269
302
|
context: utility_1.default.base64Encode(rawSamlResponse),
|
|
270
303
|
})];
|
|
271
|
-
case 3: throw new Error('ERR_GENERATE_POST_LOGIN_RESPONSE_MISSING_METADATA');
|
|
272
304
|
}
|
|
273
305
|
});
|
|
274
306
|
});
|
|
275
307
|
}
|
|
276
308
|
/**
|
|
277
|
-
*
|
|
278
|
-
*
|
|
279
|
-
* @param
|
|
280
|
-
* @param
|
|
281
|
-
* @param
|
|
282
|
-
* @
|
|
283
|
-
|
|
309
|
+
* Generate a base64-encoded LogoutRequest for the HTTP-POST binding.
|
|
310
|
+
*
|
|
311
|
+
* @param user currently authenticated user
|
|
312
|
+
* @param referenceTagXPath XPath used when signing the request
|
|
313
|
+
* @param entity `{ init, target }` handles
|
|
314
|
+
* @param customTagReplacement optional custom template transformer
|
|
315
|
+
* @returns id / base64-XML pair
|
|
316
|
+
*/
|
|
284
317
|
function base64LogoutRequest(user, referenceTagXPath, entity, customTagReplacement) {
|
|
318
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
285
319
|
var metadata = { init: entity.init.entityMeta, target: entity.target.entityMeta };
|
|
286
320
|
var initSetting = entity.init.entitySetting;
|
|
287
321
|
var nameIDFormat = initSetting.nameIDFormat;
|
|
288
322
|
var selectedNameIDFormat = Array.isArray(nameIDFormat) ? nameIDFormat[0] : nameIDFormat;
|
|
289
323
|
var id = '';
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
location: { reference: "/*[local-name(.)='LogoutRequest']/*[local-name(.)='Issuer']", action: 'after' },
|
|
326
|
-
}
|
|
327
|
-
}),
|
|
328
|
-
};
|
|
329
|
-
}
|
|
324
|
+
/* v8 ignore start */
|
|
325
|
+
if (!metadata.init || !metadata.target) {
|
|
326
|
+
throw new Error('ERR_GENERATE_POST_LOGOUT_REQUEST_MISSING_METADATA');
|
|
327
|
+
}
|
|
328
|
+
/* v8 ignore stop */
|
|
329
|
+
var rawSamlRequest;
|
|
330
|
+
if (customTagReplacement) {
|
|
331
|
+
// saml-bindings §3.5 — honour the callback even when the caller did
|
|
332
|
+
// not override `logoutRequestTemplate` (closes #549). Prefer the
|
|
333
|
+
// user-supplied template, then the tag-prefixed default (closes #388),
|
|
334
|
+
// and finally the library default.
|
|
335
|
+
var templateContext = (_e = (_b = (_a = initSetting.logoutRequestTemplate) === null || _a === void 0 ? void 0 : _a.context) !== null && _b !== void 0 ? _b : (_d = (_c = initSetting.tagPrefixedDefaults) === null || _c === void 0 ? void 0 : _c.logoutRequestTemplate) === null || _d === void 0 ? void 0 : _d.context) !== null && _e !== void 0 ? _e : libsaml_1.default.defaultLogoutRequestTemplate.context;
|
|
336
|
+
var template = customTagReplacement(templateContext);
|
|
337
|
+
id = (0, utility_1.get)(template, 'id');
|
|
338
|
+
rawSamlRequest = (0, utility_1.get)(template, 'context');
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
id = initSetting.generateID();
|
|
342
|
+
var tvalue = {
|
|
343
|
+
ID: id,
|
|
344
|
+
Destination: metadata.target.getSingleLogoutService(binding.post),
|
|
345
|
+
Issuer: metadata.init.getEntityID(),
|
|
346
|
+
IssueInstant: new Date().toISOString(),
|
|
347
|
+
EntityID: metadata.init.getEntityID(),
|
|
348
|
+
NameIDFormat: selectedNameIDFormat,
|
|
349
|
+
NameID: user.logoutNameID,
|
|
350
|
+
// saml-core §3.7.1 — SessionIndex is optional; replaceTagsByValue
|
|
351
|
+
// drops the element when undefined (closes #470).
|
|
352
|
+
SessionIndex: user.sessionIndex,
|
|
353
|
+
};
|
|
354
|
+
var baseTemplate = (_h = (_g = (_f = initSetting.tagPrefixedDefaults) === null || _f === void 0 ? void 0 : _f.logoutRequestTemplate) === null || _g === void 0 ? void 0 : _g.context) !== null && _h !== void 0 ? _h : libsaml_1.default.defaultLogoutRequestTemplate.context;
|
|
355
|
+
rawSamlRequest = libsaml_1.default.replaceTagsByValue(baseTemplate, tvalue);
|
|
356
|
+
}
|
|
357
|
+
if (entity.target.entitySetting.wantLogoutRequestSigned) {
|
|
358
|
+
var privateKey = initSetting.privateKey, privateKeyPass = initSetting.privateKeyPass, signatureAlgorithm = initSetting.requestSignatureAlgorithm, transformationAlgorithms = initSetting.transformationAlgorithms;
|
|
330
359
|
return {
|
|
331
360
|
id: id,
|
|
332
|
-
context:
|
|
361
|
+
context: libsaml_1.default.constructSAMLSignature({
|
|
362
|
+
referenceTagXPath: referenceTagXPath,
|
|
363
|
+
privateKey: privateKey,
|
|
364
|
+
privateKeyPass: privateKeyPass,
|
|
365
|
+
signatureAlgorithm: signatureAlgorithm,
|
|
366
|
+
transformationAlgorithms: transformationAlgorithms,
|
|
367
|
+
rawSamlMessage: rawSamlRequest,
|
|
368
|
+
signingCert: metadata.init.getX509Certificate('signing'),
|
|
369
|
+
signatureConfig: initSetting.signatureConfig || {
|
|
370
|
+
prefix: 'ds',
|
|
371
|
+
location: { reference: "/*[local-name(.)='LogoutRequest']/*[local-name(.)='Issuer']", action: 'after' },
|
|
372
|
+
},
|
|
373
|
+
}),
|
|
333
374
|
};
|
|
334
375
|
}
|
|
335
|
-
|
|
376
|
+
return {
|
|
377
|
+
id: id,
|
|
378
|
+
context: utility_1.default.base64Encode(rawSamlRequest),
|
|
379
|
+
};
|
|
336
380
|
}
|
|
337
381
|
/**
|
|
338
|
-
*
|
|
339
|
-
*
|
|
340
|
-
* @param
|
|
341
|
-
* @param
|
|
342
|
-
* @param
|
|
343
|
-
|
|
382
|
+
* Generate a base64-encoded LogoutResponse for the HTTP-POST binding.
|
|
383
|
+
*
|
|
384
|
+
* @param requestInfo parsed request used to link `InResponseTo`
|
|
385
|
+
* @param entity `{ init, target }` handles
|
|
386
|
+
* @param customTagReplacement optional custom template transformer
|
|
387
|
+
* @returns id / base64-XML pair
|
|
388
|
+
*/
|
|
344
389
|
function base64LogoutResponse(requestInfo, entity, customTagReplacement) {
|
|
390
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
345
391
|
var metadata = {
|
|
346
392
|
init: entity.init.entityMeta,
|
|
347
393
|
target: entity.target.entityMeta,
|
|
348
394
|
};
|
|
349
395
|
var id = '';
|
|
350
396
|
var initSetting = entity.init.entitySetting;
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
signatureConfig: {
|
|
384
|
-
prefix: 'ds',
|
|
385
|
-
location: {
|
|
386
|
-
reference: "/*[local-name(.)='LogoutResponse']/*[local-name(.)='Issuer']",
|
|
387
|
-
action: 'after'
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
}),
|
|
391
|
-
};
|
|
392
|
-
}
|
|
397
|
+
/* v8 ignore start */
|
|
398
|
+
if (!metadata.init || !metadata.target) {
|
|
399
|
+
throw new Error('ERR_GENERATE_POST_LOGOUT_RESPONSE_MISSING_METADATA');
|
|
400
|
+
}
|
|
401
|
+
/* v8 ignore stop */
|
|
402
|
+
var rawSamlResponse;
|
|
403
|
+
if (customTagReplacement) {
|
|
404
|
+
// saml-bindings §3.5 — honour the callback even when the caller did
|
|
405
|
+
// not override `logoutResponseTemplate` (closes #549). Prefer the
|
|
406
|
+
// user-supplied template, then the tag-prefixed default (closes #388),
|
|
407
|
+
// and finally the library default.
|
|
408
|
+
var templateContext = (_e = (_b = (_a = initSetting.logoutResponseTemplate) === null || _a === void 0 ? void 0 : _a.context) !== null && _b !== void 0 ? _b : (_d = (_c = initSetting.tagPrefixedDefaults) === null || _c === void 0 ? void 0 : _c.logoutResponseTemplate) === null || _d === void 0 ? void 0 : _d.context) !== null && _e !== void 0 ? _e : libsaml_1.default.defaultLogoutResponseTemplate.context;
|
|
409
|
+
var template = customTagReplacement(templateContext);
|
|
410
|
+
id = template.id;
|
|
411
|
+
rawSamlResponse = template.context;
|
|
412
|
+
}
|
|
413
|
+
else {
|
|
414
|
+
id = initSetting.generateID();
|
|
415
|
+
var tvalue = {
|
|
416
|
+
ID: id,
|
|
417
|
+
Destination: metadata.target.getSingleLogoutService(binding.post),
|
|
418
|
+
EntityID: metadata.init.getEntityID(),
|
|
419
|
+
Issuer: metadata.init.getEntityID(),
|
|
420
|
+
IssueInstant: new Date().toISOString(),
|
|
421
|
+
StatusCode: urn_1.StatusCode.Success,
|
|
422
|
+
InResponseTo: (0, utility_1.get)(requestInfo, 'extract.request.id'),
|
|
423
|
+
};
|
|
424
|
+
var baseTemplate = (_h = (_g = (_f = initSetting.tagPrefixedDefaults) === null || _f === void 0 ? void 0 : _f.logoutResponseTemplate) === null || _g === void 0 ? void 0 : _g.context) !== null && _h !== void 0 ? _h : libsaml_1.default.defaultLogoutResponseTemplate.context;
|
|
425
|
+
rawSamlResponse = libsaml_1.default.replaceTagsByValue(baseTemplate, tvalue);
|
|
426
|
+
}
|
|
427
|
+
if (entity.target.entitySetting.wantLogoutResponseSigned) {
|
|
428
|
+
var privateKey = initSetting.privateKey, privateKeyPass = initSetting.privateKeyPass, signatureAlgorithm = initSetting.requestSignatureAlgorithm, transformationAlgorithms = initSetting.transformationAlgorithms;
|
|
393
429
|
return {
|
|
394
430
|
id: id,
|
|
395
|
-
context:
|
|
431
|
+
context: libsaml_1.default.constructSAMLSignature({
|
|
432
|
+
isMessageSigned: true,
|
|
433
|
+
transformationAlgorithms: transformationAlgorithms,
|
|
434
|
+
privateKey: privateKey,
|
|
435
|
+
privateKeyPass: privateKeyPass,
|
|
436
|
+
signatureAlgorithm: signatureAlgorithm,
|
|
437
|
+
rawSamlMessage: rawSamlResponse,
|
|
438
|
+
signingCert: metadata.init.getX509Certificate('signing'),
|
|
439
|
+
signatureConfig: {
|
|
440
|
+
prefix: 'ds',
|
|
441
|
+
location: {
|
|
442
|
+
reference: "/*[local-name(.)='LogoutResponse']/*[local-name(.)='Issuer']",
|
|
443
|
+
action: 'after',
|
|
444
|
+
},
|
|
445
|
+
},
|
|
446
|
+
}),
|
|
396
447
|
};
|
|
397
448
|
}
|
|
398
|
-
|
|
449
|
+
return {
|
|
450
|
+
id: id,
|
|
451
|
+
context: utility_1.default.base64Encode(rawSamlResponse),
|
|
452
|
+
};
|
|
399
453
|
}
|
|
400
454
|
var postBinding = {
|
|
401
455
|
base64LoginRequest: base64LoginRequest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding-post.js","sourceRoot":"","sources":["../../src/binding-post.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"binding-post.js","sourceRoot":"","sources":["../../src/binding-post.ts"],"names":[],"mappings":"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"}
|