diff --git a/package.json b/package.json index 794262981..5420524e6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "italia-backend", - "version": "0.0.35", + "version": "0.0.36", "description": "Italia app and web backend", "main": "index.js", "engines": { @@ -60,7 +60,7 @@ "redis": "^2.8.0", "redis-clustr": "^1.6.0", "request-ip": "^2.1.1", - "spid-passport": "git://github.com/lussoluca/spid-passport.git#e14ead5", + "spid-passport": "git://github.com/gunzip/spid-passport.git#6395dd9e5fdf1ecd48af5f02745a37a7aec9b9d0", "typescript": "^2.9.2", "ulid": "^2.2.2", "validator": "^10.4.0", @@ -74,7 +74,7 @@ "@types/express-enforces-ssl": "^1.1.1", "@types/glob": "^5.0.35", "@types/helmet": "^0.0.38", - "@types/jest": "^23.1.0", + "@types/jest": "^23.3.0", "@types/lolex": "2.1.3", "@types/morgan": "^1.7.35", "@types/passport": "^0.4.5", diff --git a/patches/@types/jest+23.1.0.patch b/patches/@types/jest+23.1.0.patch deleted file mode 100644 index 9952d0def..000000000 --- a/patches/@types/jest+23.1.0.patch +++ /dev/null @@ -1,11 +0,0 @@ -patch-package ---- a/node_modules/@types/jest/index.d.ts -+++ b/node_modules/@types/jest/index.d.ts -@@ -225,6 +225,7 @@ declare namespace jest { - only: It; - skip: It; - concurrent: It; -+ each: any; - } - - interface Describe { diff --git a/patches/passport-saml+0.31.0.patch b/patches/passport-saml+0.31.0.patch deleted file mode 100644 index cc67d84ab..000000000 --- a/patches/passport-saml+0.31.0.patch +++ /dev/null @@ -1,22 +0,0 @@ -patch-package ---- a/node_modules/passport-saml/lib/passport-saml/saml.js -+++ b/node_modules/passport-saml/lib/passport-saml/saml.js -@@ -714,6 +714,18 @@ SAML.prototype.processValidlySignedAssertion = function(xml, inResponseTo, callb - if (authnStatement[0].$ && authnStatement[0].$.SessionIndex) { - profile.sessionIndex = authnStatement[0].$.SessionIndex; - } -+ -+ if (authnStatement[0].AuthnContext) { -+ var authnContext = authnStatement[0].AuthnContext; -+ if (authnContext) { -+ if (authnContext[0] && authnContext[0].AuthnContextClassRef) { -+ var authnContextClassRef = authnContext[0].AuthnContextClassRef; -+ if (authnContextClassRef) { -+ profile.authnContextClassRef = authnContextClassRef[0]; -+ } -+ } -+ } -+ } - } - - var subject = assertion.Subject; diff --git a/src/__tests__/passport-saml.test.ts b/src/__tests__/passport-saml.test.ts deleted file mode 100644 index 42afb25e6..000000000 --- a/src/__tests__/passport-saml.test.ts +++ /dev/null @@ -1,104 +0,0 @@ -/* tslint:disable:no-var-requires */ -/* tslint:disable:no-any */ - -const saml = require("passport-saml").SAML; - -// NotOnOrAfter has been set very far in the future to avoid a SAML assertion expired error. -const SAMLResponse = ` - spid-testenv-identityserver - - - - - - - - - - - - - MT9iID2qZfCvHDGuIi2PgHmB/cpj3FXQc6fL6oHEuFo= - - - - KuKsvQHTDEP7we5Zvzj432YvNOa80GP+cmYCb9EgNhiKXdkSm5/af3fe69mkZAQ4ft1xqQ8VPdNm - oSRPrc9AIg/L0PpwrxcRmvB/OwsH+sl77LhIxdwyCFIYiroJzemlY5df1mq1O/U6hot7GYK461nK - eSnBPWMCm0zmxij6v00= - - - - MIICNTCCAZ6gAwIBAgIES343gjANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJVUzELMAkGA1UE - CAwCQ0ExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxDTALBgNVBAoMBFdTTzIxEjAQBgNVBAMMCWxv - Y2FsaG9zdDAeFw0xMDAyMTkwNzAyMjZaFw0zNTAyMTMwNzAyMjZaMFUxCzAJBgNVBAYTAlVTMQsw - CQYDVQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzENMAsGA1UECgwEV1NPMjESMBAGA1UE - AwwJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCUp/oV1vWc8/TkQSiAvTou - sMzOM4asB2iltr2QKozni5aVFu818MpOLZIr8LMnTzWllJvvaA5RAAdpbECb+48FjbBe0hseUdN5 - HpwvnH/DW8ZccGvk53I6Orq7hLCv1ZHtuOCokghz/ATrhyPq+QktMfXnRS4HrKGJTzxaCcU7OQID - AQABoxIwEDAOBgNVHQ8BAf8EBAMCBPAwDQYJKoZIhvcNAQEFBQADgYEAW5wPR7cr1LAdq+IrR44i - QlRG5ITCZXY9hI0PygLP2rHANh+PYfTmxbuOnykNGyhM6FjFLbW2uZHQTY1jMrPprjOrmyK5sjJR - O4d1DeGHT/YnIjs9JogRKv4XHECwLtIVdAbIdWHEtVZJyMSktcyysFcvuhPQK8Qc/E/Wq8uHSCo= - - - - - - ettore - - - - - - - http://italia-backend - - - - - https://www.spid.gov.it/SpidL2 - - - - - - Fieramosca - - - - Ettore - - - - - FRMTTR76M06B715E - - - - - trediciitalianicontrotredicifrancesi@hotmail.com - - - - -`; - -describe("passport-saml", () => { - it("should extract the authnContextClassRef from the SAML response", () => { - const spidOptions = {}; - const samlClient = new saml(spidOptions); - - samlClient.processValidlySignedAssertion( - SAMLResponse, - false, - (err: any, user: any, message: any) => { - expect(err).toBeNull(); - expect(message).toBeFalsy(); - expect(user.authnContextClassRef).toEqual( - "https://www.spid.gov.it/SpidL2" - ); - } - ); - }); -}); diff --git a/yarn.lock b/yarn.lock index b53db55e0..5cd7d0e67 100644 --- a/yarn.lock +++ b/yarn.lock @@ -103,9 +103,9 @@ dependencies: "@types/node" "*" -"@types/jest@^23.1.0": - version "23.1.0" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.1.0.tgz#8054dd838ba23dc331794d26456b86c7e50bf0f6" +"@types/jest@^23.3.0": + version "23.3.0" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.0.tgz#5dd70033b616a6228042244ebd992f6426808810" "@types/lolex@2.1.3": version "2.1.3" @@ -4377,9 +4377,9 @@ passport-http-bearer@^1.0.1: dependencies: passport-strategy "1.x.x" -passport-saml@^0.31.0: - version "0.31.0" - resolved "https://registry.yarnpkg.com/passport-saml/-/passport-saml-0.31.0.tgz#e4d654cab30f018bfd39056efe7bcfa770aab463" +passport-saml@^0.33.0: + version "0.33.0" + resolved "https://registry.yarnpkg.com/passport-saml/-/passport-saml-0.33.0.tgz#51b99f19dced56d246ee4e2887e32f06321fbecf" dependencies: passport-strategy "*" q "^1.5.0" @@ -4605,7 +4605,7 @@ punycode@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" -q@^1.5.0: +q@^1.5.0, q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -5197,13 +5197,18 @@ spdx-license-ids@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" -"spid-passport@git://github.com/lussoluca/spid-passport.git#e14ead5": +"spid-passport@git://github.com/gunzip/spid-passport.git#6395dd9e5fdf1ecd48af5f02745a37a7aec9b9d0": version "1.0.0" - resolved "git://github.com/lussoluca/spid-passport.git#e14ead5cd8bbcd608d113745986aed057f51fdd3" + resolved "git://github.com/gunzip/spid-passport.git#6395dd9e5fdf1ecd48af5f02745a37a7aec9b9d0" dependencies: passport "^0.4.0" - passport-saml "^0.31.0" + passport-saml "^0.33.0" passport-strategy "^1.0.0" + q "^1.5.1" + winston "^3.0.0" + xml-crypto "^0.10.1" + xmlbuilder "^10.0.0" + xmldom "^0.1.27" split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" @@ -6069,6 +6074,10 @@ xmlbuilder@0.4.3: version "0.4.3" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-0.4.3.tgz#c4614ba74e0ad196e609c9272cd9e1ddb28a8a58" +xmlbuilder@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-10.0.0.tgz#c64e52f8ae097fe5fd46d1c38adaade071ee1b55" + xmlbuilder@^9.0.4, xmlbuilder@~9.0.1: version "9.0.7" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"