@bostonuniversity/shibboleth-sp 1.0.3 → 1.0.5
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/cjs/index.js +9 -17
- package/dist/cjs/index.js.map +2 -2
- package/dist/esm/HandlerSp.js +12 -18
- package/dist/esm/HandlerSp.js.map +1 -1
- package/dist/esm/Http.js +1 -1
- package/dist/esm/Http.js.map +1 -1
- package/dist/esm/index.js +9 -17
- package/dist/esm/index.js.map +2 -2
- package/dist/types/HandlerSp.d.ts +1 -2
- package/package.json +1 -1
package/dist/esm/HandlerSp.js
CHANGED
|
@@ -20,7 +20,6 @@ var AUTH_PATHS;
|
|
|
20
20
|
AUTH_PATHS["LOGOUT"] = "/logout";
|
|
21
21
|
AUTH_PATHS["ASSERT"] = "/assert";
|
|
22
22
|
AUTH_PATHS["METADATA"] = "/metadata";
|
|
23
|
-
AUTH_PATHS["FAVICON"] = "/favicon.ico";
|
|
24
23
|
})(AUTH_PATHS || (exports.AUTH_PATHS = AUTH_PATHS = {}));
|
|
25
24
|
exports.APP_AUTHORIZATION_HEADER_NAME = 'app_authorization';
|
|
26
25
|
/**
|
|
@@ -81,8 +80,9 @@ const handler = (originRequest, config) => __awaiter(void 0, void 0, void 0, fun
|
|
|
81
80
|
let response;
|
|
82
81
|
const qsparms = querystring ? new URLSearchParams(querystring) : null;
|
|
83
82
|
console.log(`uri: ${uri}`);
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
// Parameter names only: values can carry a SAMLResponse or a return URL.
|
|
84
|
+
console.log(`querystring parameters: ${qsparms ? [...qsparms.keys()].join(', ') : ''}`);
|
|
85
|
+
const { LOGIN, LOGOUT, ASSERT, METADATA } = AUTH_PATHS;
|
|
86
86
|
const getAppLoginUrl = () => {
|
|
87
87
|
const relay_state = encodeURIComponent(relayDomain + uri + (querystring ? `?${querystring}` : ''));
|
|
88
88
|
return `${relayDomain}${AUTH_PATHS.LOGIN}?relay_state=${relay_state}`;
|
|
@@ -131,14 +131,14 @@ const handler = (originRequest, config) => __awaiter(void 0, void 0, void 0, fun
|
|
|
131
131
|
break;
|
|
132
132
|
case ASSERT:
|
|
133
133
|
const result = yield samlTools.sendAssert(originRequest);
|
|
134
|
-
const message = `Authentication successful. result: ${JSON.stringify(result, null, 2)}`;
|
|
135
134
|
var { samlAssertResponse, relayState } = result;
|
|
136
135
|
relayState = decodeURIComponent(relayState || relayDomain);
|
|
137
136
|
if (!samlAssertResponse)
|
|
138
137
|
break;
|
|
139
|
-
(0, Utils_1.debugPrint)(
|
|
140
|
-
console.log(`relayState: ${relayState}`);
|
|
138
|
+
(0, Utils_1.debugPrint)('Authentication successful.');
|
|
141
139
|
const redirectUrl = new URL(relayState);
|
|
140
|
+
// Origin and path only: the relay state can embed the original querystring.
|
|
141
|
+
console.log(`relayState: ${redirectUrl.origin}${redirectUrl.pathname}`);
|
|
142
142
|
redirectUrl.searchParams.append('after_auth', 'true');
|
|
143
143
|
response = {
|
|
144
144
|
status: '302',
|
|
@@ -151,7 +151,8 @@ const handler = (originRequest, config) => __awaiter(void 0, void 0, void 0, fun
|
|
|
151
151
|
sub: samlAssertResponse.user.name_id,
|
|
152
152
|
user: samlAssertResponse.user.attributes
|
|
153
153
|
};
|
|
154
|
-
|
|
154
|
+
// Attribute names only: the values are the user's identity.
|
|
155
|
+
console.log(`Setting JWT with attributes: ${Object.keys(cookieValue.user || {}).join(', ')}`);
|
|
155
156
|
jwtTools.setCookieInResponse(response, cookieValue);
|
|
156
157
|
break;
|
|
157
158
|
case METADATA:
|
|
@@ -164,14 +165,6 @@ const handler = (originRequest, config) => __awaiter(void 0, void 0, void 0, fun
|
|
|
164
165
|
},
|
|
165
166
|
};
|
|
166
167
|
break;
|
|
167
|
-
case FAVICON:
|
|
168
|
-
// This path just dirties up logs, so intercept it here and return a blank.
|
|
169
|
-
// Can't seem to get an actual favicon.ico to work from here anyway.
|
|
170
|
-
response = {
|
|
171
|
-
status: '200',
|
|
172
|
-
statusDescription: 'OK',
|
|
173
|
-
};
|
|
174
|
-
break;
|
|
175
168
|
default:
|
|
176
169
|
const afterAuth = decodeURIComponent(qsparms ? qsparms.get('after_auth') || '' : '');
|
|
177
170
|
const validToken = jwtTools.hasValidToken(originRequest);
|
|
@@ -195,7 +188,8 @@ const handler = (originRequest, config) => __awaiter(void 0, void 0, void 0, fun
|
|
|
195
188
|
const { key, value } = customHeaders[i];
|
|
196
189
|
(0, Http_1.addHeader)(response, key, encodeURIComponent(value));
|
|
197
190
|
}
|
|
198
|
-
|
|
191
|
+
// Header names only: the cookie and user-details values are the session token.
|
|
192
|
+
console.log(`Valid JWT found - passing through to origin with headers: ${Object.keys(response.headers).join(', ')}`);
|
|
199
193
|
}
|
|
200
194
|
else if (afterAuth.toLocaleLowerCase() === 'true') {
|
|
201
195
|
// The saml exchange has just taken place, and the user has authenticated with the IDP, yet either
|
|
@@ -210,7 +204,7 @@ const handler = (originRequest, config) => __awaiter(void 0, void 0, void 0, fun
|
|
|
210
204
|
'content-type': [{ key: 'Content-Type', value: 'text/plain' }],
|
|
211
205
|
}
|
|
212
206
|
};
|
|
213
|
-
console.log(`No valid JWT found after authentication
|
|
207
|
+
console.log(`No valid JWT found after authentication - responding ${response.status}`);
|
|
214
208
|
}
|
|
215
209
|
else if (appAuthorization) {
|
|
216
210
|
// The application will "decide" if access to it needs to be authenticated or not, so just pass through the request
|
|
@@ -234,7 +228,7 @@ const handler = (originRequest, config) => __awaiter(void 0, void 0, void 0, fun
|
|
|
234
228
|
location: [{ key: 'Location', value: getAppLoginUrl() }],
|
|
235
229
|
},
|
|
236
230
|
};
|
|
237
|
-
console.log(`No valid JWT found - redirecting
|
|
231
|
+
console.log(`No valid JWT found - redirecting to ${LOGIN}`);
|
|
238
232
|
}
|
|
239
233
|
break;
|
|
240
234
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandlerSp.js","sourceRoot":"","sources":["../../src/HandlerSp.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAqD;AACrD,+BAAiC;AACjC,mCAAqC;AAErC,iCAA6F;AAE7F,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,8BAAgB,CAAA;IAAE,gCAAkB,CAAA;IAAE,gCAAkB,CAAA;IAAE,oCAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"HandlerSp.js","sourceRoot":"","sources":["../../src/HandlerSp.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Http.js
CHANGED
|
@@ -91,7 +91,7 @@ const getHost = (request) => {
|
|
|
91
91
|
return headers.get('host');
|
|
92
92
|
}
|
|
93
93
|
catch (e) {
|
|
94
|
-
console.log(`ERROR: Unable to determine host from request: ${
|
|
94
|
+
console.log(`ERROR: Unable to determine host from request with headers: ${Object.keys(request.headers).join(', ')}`);
|
|
95
95
|
}
|
|
96
96
|
return null;
|
|
97
97
|
};
|
package/dist/esm/Http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Http.js","sourceRoot":"","sources":["../../src/Http.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Http.js","sourceRoot":"","sources":["../../src/Http.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -69768,7 +69768,7 @@ var getHost = (request) => {
|
|
|
69768
69768
|
const headers = Headers(request);
|
|
69769
69769
|
return headers.get("host");
|
|
69770
69770
|
} catch (e) {
|
|
69771
|
-
console.log(`ERROR: Unable to determine host from request: ${
|
|
69771
|
+
console.log(`ERROR: Unable to determine host from request with headers: ${Object.keys(request.headers).join(", ")}`);
|
|
69772
69772
|
}
|
|
69773
69773
|
return null;
|
|
69774
69774
|
};
|
|
@@ -69779,7 +69779,6 @@ var AUTH_PATHS = /* @__PURE__ */ ((AUTH_PATHS2) => {
|
|
|
69779
69779
|
AUTH_PATHS2["LOGOUT"] = "/logout";
|
|
69780
69780
|
AUTH_PATHS2["ASSERT"] = "/assert";
|
|
69781
69781
|
AUTH_PATHS2["METADATA"] = "/metadata";
|
|
69782
|
-
AUTH_PATHS2["FAVICON"] = "/favicon.ico";
|
|
69783
69782
|
return AUTH_PATHS2;
|
|
69784
69783
|
})(AUTH_PATHS || {});
|
|
69785
69784
|
var APP_AUTHORIZATION_HEADER_NAME = "app_authorization";
|
|
@@ -69825,8 +69824,8 @@ var handler = async (originRequest, config) => {
|
|
|
69825
69824
|
let response;
|
|
69826
69825
|
const qsparms = querystring ? new URLSearchParams(querystring) : null;
|
|
69827
69826
|
console.log(`uri: ${uri}`);
|
|
69828
|
-
console.log(`querystring: ${
|
|
69829
|
-
const { LOGIN, LOGOUT, ASSERT, METADATA
|
|
69827
|
+
console.log(`querystring parameters: ${qsparms ? [...qsparms.keys()].join(", ") : ""}`);
|
|
69828
|
+
const { LOGIN, LOGOUT, ASSERT, METADATA } = AUTH_PATHS;
|
|
69830
69829
|
const getAppLoginUrl = () => {
|
|
69831
69830
|
const relay_state = encodeURIComponent(relayDomain + uri + (querystring ? `?${querystring}` : ""));
|
|
69832
69831
|
return `${relayDomain}${"/login" /* LOGIN */}?relay_state=${relay_state}`;
|
|
@@ -69872,13 +69871,12 @@ var handler = async (originRequest, config) => {
|
|
|
69872
69871
|
break;
|
|
69873
69872
|
case ASSERT:
|
|
69874
69873
|
const result2 = await samlTools.sendAssert(originRequest);
|
|
69875
|
-
const message = `Authentication successful. result: ${JSON.stringify(result2, null, 2)}`;
|
|
69876
69874
|
var { samlAssertResponse, relayState } = result2;
|
|
69877
69875
|
relayState = decodeURIComponent(relayState || relayDomain);
|
|
69878
69876
|
if (!samlAssertResponse) break;
|
|
69879
|
-
debugPrint(
|
|
69880
|
-
console.log(`relayState: ${relayState}`);
|
|
69877
|
+
debugPrint("Authentication successful.");
|
|
69881
69878
|
const redirectUrl = new URL(relayState);
|
|
69879
|
+
console.log(`relayState: ${redirectUrl.origin}${redirectUrl.pathname}`);
|
|
69882
69880
|
redirectUrl.searchParams.append("after_auth", "true");
|
|
69883
69881
|
response = {
|
|
69884
69882
|
status: "302",
|
|
@@ -69891,7 +69889,7 @@ var handler = async (originRequest, config) => {
|
|
|
69891
69889
|
sub: samlAssertResponse.user.name_id,
|
|
69892
69890
|
user: samlAssertResponse.user.attributes
|
|
69893
69891
|
};
|
|
69894
|
-
console.log(`Setting JWT: ${
|
|
69892
|
+
console.log(`Setting JWT with attributes: ${Object.keys(cookieValue.user || {}).join(", ")}`);
|
|
69895
69893
|
jwtTools.setCookieInResponse(response, cookieValue);
|
|
69896
69894
|
break;
|
|
69897
69895
|
case METADATA:
|
|
@@ -69904,12 +69902,6 @@ var handler = async (originRequest, config) => {
|
|
|
69904
69902
|
}
|
|
69905
69903
|
};
|
|
69906
69904
|
break;
|
|
69907
|
-
case FAVICON:
|
|
69908
|
-
response = {
|
|
69909
|
-
status: "200",
|
|
69910
|
-
statusDescription: "OK"
|
|
69911
|
-
};
|
|
69912
|
-
break;
|
|
69913
69905
|
default:
|
|
69914
69906
|
const afterAuth = decodeURIComponent(qsparms ? qsparms.get("after_auth") || "" : "");
|
|
69915
69907
|
const validToken = jwtTools.hasValidToken(originRequest);
|
|
@@ -69930,7 +69922,7 @@ var handler = async (originRequest, config) => {
|
|
|
69930
69922
|
const { key, value } = customHeaders[i];
|
|
69931
69923
|
addHeader(response, key, encodeURIComponent(value));
|
|
69932
69924
|
}
|
|
69933
|
-
console.log(`Valid JWT found - passing through to origin: ${
|
|
69925
|
+
console.log(`Valid JWT found - passing through to origin with headers: ${Object.keys(response.headers).join(", ")}`);
|
|
69934
69926
|
} else if (afterAuth.toLocaleLowerCase() === "true") {
|
|
69935
69927
|
response = {
|
|
69936
69928
|
status: "500",
|
|
@@ -69940,7 +69932,7 @@ var handler = async (originRequest, config) => {
|
|
|
69940
69932
|
"content-type": [{ key: "Content-Type", value: "text/plain" }]
|
|
69941
69933
|
}
|
|
69942
69934
|
};
|
|
69943
|
-
console.log(`No valid JWT found after authentication
|
|
69935
|
+
console.log(`No valid JWT found after authentication - responding ${response.status}`);
|
|
69944
69936
|
} else if (appAuthorization) {
|
|
69945
69937
|
response = originRequest;
|
|
69946
69938
|
addHeader(response, "authenticated", "false");
|
|
@@ -69960,7 +69952,7 @@ var handler = async (originRequest, config) => {
|
|
|
69960
69952
|
location: [{ key: "Location", value: getAppLoginUrl() }]
|
|
69961
69953
|
}
|
|
69962
69954
|
};
|
|
69963
|
-
console.log(`No valid JWT found - redirecting
|
|
69955
|
+
console.log(`No valid JWT found - redirecting to ${LOGIN}`);
|
|
69964
69956
|
}
|
|
69965
69957
|
break;
|
|
69966
69958
|
}
|