@bostonuniversity/shibboleth-sp 1.0.2 → 1.0.3

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.
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.handler = exports.APP_AUTHORIZATION_HEADER_NAME = exports.AUTH_PATHS = void 0;
12
+ exports.handler = exports.SP_OWNED_HEADER_NAMES = exports.APP_AUTHORIZATION_HEADER_NAME = exports.AUTH_PATHS = void 0;
13
13
  const Saml_1 = require("./Saml");
14
14
  const Jwt_1 = require("./Jwt");
15
15
  const Utils_1 = require("./Utils");
@@ -23,6 +23,21 @@ var AUTH_PATHS;
23
23
  AUTH_PATHS["FAVICON"] = "/favicon.ico";
24
24
  })(AUTH_PATHS || (exports.AUTH_PATHS = AUTH_PATHS = {}));
25
25
  exports.APP_AUTHORIZATION_HEADER_NAME = 'app_authorization';
26
+ /**
27
+ * These are the headers whose values are asserted by the shibboleth handler logic.
28
+ * They are exported here so consumers can share the same trust-boundary definition.
29
+ *
30
+ * Configured login, logout, and custom header names complete the set at runtime.
31
+ */
32
+ exports.SP_OWNED_HEADER_NAMES = [
33
+ 'authenticated',
34
+ 'user-details',
35
+ 'login',
36
+ 'eduPersonPrincipalName',
37
+ 'buPrincipal',
38
+ 'eduPersonAffiliation',
39
+ 'eduPersonEntitlement',
40
+ ];
26
41
  /**
27
42
  * This is the sp "switchboard operator" for origin request traffic. It will perform all saml SP operations for ensuring
28
43
  * that the user bears JWT proof of saml authentication, else it drives the authentication flow with the IDP.
@@ -48,6 +63,20 @@ const handler = (originRequest, config) => __awaiter(void 0, void 0, void 0, fun
48
63
  if (customHdr && 'true' == customHdr) {
49
64
  appAuthorization = true;
50
65
  }
66
+ // Strip viewer-supplied values from every SP-owned output before forwarding the request. Writes
67
+ // are conditional, and addHeader ignores blank values, so overwriting alone could preserve a value
68
+ // the SP did not assert.
69
+ //
70
+ // app_authorization is an input, not an SP-owned output. It is intentionally read above and
71
+ // preserved, so its provenance must be enforced upstream.
72
+ [
73
+ ...exports.SP_OWNED_HEADER_NAMES,
74
+ appLoginHeader,
75
+ appLogoutHeader,
76
+ ...customHeaders.map(h => h.key),
77
+ ]
78
+ .filter(name => name)
79
+ .forEach(name => (0, Http_1.removeHeader)(originRequest, name));
51
80
  try {
52
81
  let response;
53
82
  const qsparms = querystring ? new URLSearchParams(querystring) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"HandlerSp.js","sourceRoot":"","sources":["../../src/HandlerSp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HandlerSp.js","sourceRoot":"","sources":["../../src/HandlerSp.ts"],"names":[],"mappings":"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"}
package/dist/esm/Http.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getHost = exports.addHeader = exports.Headers = void 0;
3
+ exports.getHost = exports.removeHeader = exports.addHeader = exports.Headers = void 0;
4
4
  const Utils_1 = require("./Utils");
5
5
  /**
6
6
  * Header accessor wrapper.
@@ -60,6 +60,22 @@ const addHeader = (obj, keyname, value) => {
60
60
  }
61
61
  };
62
62
  exports.addHeader = addHeader;
63
+ /**
64
+ * Removes a header regardless of its value. Request removals are recorded in headerActivity.
65
+ * @param obj
66
+ * @param keyname
67
+ */
68
+ const removeHeader = (obj, keyname) => {
69
+ const key = keyname.toLowerCase();
70
+ if (obj.headers && key in obj.headers) {
71
+ const removed = obj.headers[key];
72
+ delete obj.headers[key];
73
+ if ((0, Utils_1.instanceOf)(obj, "uri")) {
74
+ obj.headerActivity.removed[key] = removed;
75
+ }
76
+ }
77
+ };
78
+ exports.removeHeader = removeHeader;
63
79
  /**
64
80
  * Extracts the host header value from an HTTP request.
65
81
  * @param request The HTTP request object
@@ -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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"}