diff --git a/plugins/auth-backend/scripts/.gitignore b/plugins/auth-backend/scripts/.gitignore new file mode 100644 index 0000000000..cfaad76118 --- /dev/null +++ b/plugins/auth-backend/scripts/.gitignore @@ -0,0 +1 @@ +*.pem diff --git a/plugins/auth-backend/scripts/start-saml-idp.sh b/plugins/auth-backend/scripts/start-saml-idp.sh new file mode 100755 index 0000000000..dd80ca6c32 --- /dev/null +++ b/plugins/auth-backend/scripts/start-saml-idp.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [[ ! -f idp-public-cert.pem ]]; then + echo "Generating new SAML Certificates" + openssl req \ + -x509 \ + -newkey rsa:1024 \ + -days 3650 \ + -nodes \ + -subj '/CN=localhost' \ + -keyout "idp-private-key.pem" \ + -out "idp-public-cert.pem" +fi + +echo "Downloading and starting SAML-IdP" +export NPM_CONFIG_REGISTRY=https://registry.npmjs.org +exec npx saml-idp --acsUrl "http://localhost:3003/auth/saml/handler/frame" --audience "http://localhost:3003" diff --git a/plugins/mock-idp-backend/gen-certs.sh b/plugins/mock-idp-backend/gen-certs.sh deleted file mode 100755 index d33c0f0e75..0000000000 --- a/plugins/mock-idp-backend/gen-certs.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -openssl req \ - -x509 \ - -newkey rsa:1024 \ - -days 3650 \ - -nodes \ - -subj '/CN=localhost' \ - -keyout "key.pem" \ - -out "cert.pem" diff --git a/plugins/mock-idp-backend/idp-private-key.pem b/plugins/mock-idp-backend/idp-private-key.pem deleted file mode 100644 index a90f813106..0000000000 --- a/plugins/mock-idp-backend/idp-private-key.pem +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMoHudQ6bah8Div+ -+6Ooi+ZchrseVWgXU+q/X6jIY7Gkf/aUMAYtiBAvr/FG5WTn1ePVdHxo20VkNRki -wFGeL0Z33IrGhkgkwpQZnWGwKpwqEddjed1ABeOksP/RFmzBCHNnxZGuxu5E1nqW -kPLjPRicAoo9V76xPLLlUJoS5ls7AgMBAAECgYEAk2hztGA1Zrutc3iGjvEJsrlM -LPeDBYIP3rZny7T62MDYBUg2iitqnbTNwVQjSC7IJ4a1iZjQdJ8bBw4OGP88Kfcv -QQl7PnU7+Sp/z6PMGpcsP/bBoStrqG4Bdv5bM15csLuGlkz/rQV/4Q/9nrCY4qDp -5U7Np/E2TTrjjPINtMECQQD53Q8hl8PkvH5pdqm+GwmGIQu1++WX8kD90ib7hnaL -Vs39pMGFviXmW8LLv0rwFhLNpVCNBpjh4jA8knKFYfexAkEAzv3t4whHUrzdxbBk -TXAg/JTg3KuiYNY64Pq5LzwSYgWNmbcD/FTjy3a7WQd6UzLpcZJ7armtwWaTOkWR -9rZoqwJBAJ/IxAJhgT5nZBehcM9HjwGdZFXObnaKzxECMTesN2bH7hcEI1WZ0bbM -e3e8Lvn1w7SKwUZOL7pT4TD7Hg06JyECQQDCwmpyk/eIAe0pdS7rLfXbsrlg6J2A -QBJmXYKgzwT89fymBW3anoU3jB/7RO30GpNMKWe2o765mqosygjs+fTBAkBdAny5 -Tixg8VNC32dbqlwzcZ8EvrgAoaGZc9HnS3Ay5/OUkMFvyjzNEF2I/brqe2wDPQg0 -nKpWXqNkODXwtYmF ------END PRIVATE KEY----- diff --git a/plugins/mock-idp-backend/idp-public-cert.pem b/plugins/mock-idp-backend/idp-public-cert.pem deleted file mode 100644 index 9fd9f66f97..0000000000 --- a/plugins/mock-idp-backend/idp-public-cert.pem +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIBnzCCAQgCCQCIF7n8FCJ0azANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls -b2NhbGhvc3QwHhcNMjAwNjAxMTU0NDM1WhcNMzAwNTMwMTU0NDM1WjAUMRIwEAYD -VQQDDAlsb2NhbGhvc3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMoHudQ6 -bah8Div++6Ooi+ZchrseVWgXU+q/X6jIY7Gkf/aUMAYtiBAvr/FG5WTn1ePVdHxo -20VkNRkiwFGeL0Z33IrGhkgkwpQZnWGwKpwqEddjed1ABeOksP/RFmzBCHNnxZGu -xu5E1nqWkPLjPRicAoo9V76xPLLlUJoS5ls7AgMBAAEwDQYJKoZIhvcNAQELBQAD -gYEAkG2oNLjFk0FUeM6cqnLvaA9fCml3JUA1nFgMshVXLvE/aOeXKhgy96DAcUw3 -xsdHHKMJpX4n49Odz3wyAtCWFTkz600T7oSrZ7FAU2VORKapBqqUL2HtLGB2gds+ -ndfiDwLV7Yb67cQikkgLU9ZzwYcGL6ovfxuw01f13ZyiAwg= ------END CERTIFICATE----- diff --git a/yarn.lock b/yarn.lock index 46dca51b6a..f869bbaa12 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8075,7 +8075,7 @@ escape-goat@^2.0.0: resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== -escape-html@~1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= @@ -14130,7 +14130,21 @@ passport-oauth2@1.x.x: uid2 "0.0.x" utils-merge "1.x.x" -passport-strategy@1.x.x: +passport-saml@^1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/passport-saml/-/passport-saml-1.3.3.tgz#cbea1a2b21ff32b3bc4bfd84dc39c3a370df9935" + integrity sha512-54ecY/A6UEsyCehJws6a+J6THvwtYnGl9cnAUxx5DjsuKgZrDs0tSy58K4hCk1XG/LOcdQSF1TR3xlRXgTULhA== + dependencies: + debug "^3.1.0" + passport-strategy "*" + q "^1.5.0" + xml-crypto "^1.4.0" + xml-encryption "^1.0.0" + xml2js "0.4.x" + xmlbuilder "^11.0.0" + xmldom "0.1.x" + +passport-strategy@*, passport-strategy@1.x.x: version "1.0.0" resolved "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" integrity sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ= @@ -15118,7 +15132,7 @@ pupa@^2.0.1: dependencies: escape-goat "^2.0.0" -q@^1.1.2, q@^1.5.1: +q@^1.1.2, q@^1.5.0, q@^1.5.1: version "1.5.1" resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= @@ -16506,7 +16520,7 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sax@^1.2.4, sax@~1.2.4: +sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -19291,7 +19305,7 @@ xdg-basedir@^4.0.0: resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== -xml-crypto@^1.3.0: +xml-crypto@^1.3.0, xml-crypto@^1.4.0: version "1.5.3" resolved "https://registry.npmjs.org/xml-crypto/-/xml-crypto-1.5.3.tgz#a8f500b90f0dfaf0efa3331c345ecb0fff993c34" integrity sha512-uHkmpUtX15xExe5iimPmakAZN+6CqIvjmaJTy4FwqGzaTjrKRBNeqMh8zGEzVNgW0dk6beFYpyQSgqV/J6C5xA== @@ -19318,6 +19332,16 @@ xml-encryption@0.11.2: xmldom "~0.1.15" xpath "0.0.27" +xml-encryption@^1.0.0: + version "1.2.0" + resolved "https://registry.npmjs.org/xml-encryption/-/xml-encryption-1.2.0.tgz#37c8b470beae88b4625ea8cad82f108ea0f9c364" + integrity sha512-J3NjGMY8jf6bTo15jURTYBLtsisbnyCeM+MuxtfiAkZEZBnSZpNKjUUORhiOScKvSi6tMOAaZ3r7bZOXOni+Ew== + dependencies: + escape-html "^1.0.3" + node-forge "^0.7.0" + xmldom "~0.1.15" + xpath "0.0.27" + xml-formatter@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/xml-formatter/-/xml-formatter-2.1.0.tgz#ff438be6e2195e480b7525ecd3b06652ed76f390" @@ -19335,6 +19359,19 @@ xml-parser-xo@^3.0.0: resolved "https://registry.npmjs.org/xml-parser-xo/-/xml-parser-xo-3.0.0.tgz#4d46f1962e5100f228b5f73f34c61bb798430195" integrity sha512-MPPexqXBx48m3OFMQXxo7+RYhG6o6kCGflk4q4oL3uQ0b7d5NDKjHFDwUoozOTPT3WFztT13z3R9Sn0QCTIJcQ== +xml2js@0.4.x: + version "0.4.23" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@^11.0.0, xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + xmlchars@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" @@ -19345,6 +19382,11 @@ xmldom@0.1.27, xmldom@=0.1.27: resolved "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= +xmldom@0.1.x, xmldom@~0.1.15: + version "0.1.31" + resolved "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz#b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff" + integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ== + xmldom@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/xmldom/-/xmldom-0.3.0.tgz#e625457f4300b5df9c2e1ecb776147ece47f3e5a" @@ -19354,11 +19396,6 @@ xmldom@^0.3.0: version "0.1.19" resolved "https://codeload.github.com/auth0/xmldom/tar.gz/3376bc7beb5551bf68e12b0cc6b0e3669f77d392" -xmldom@~0.1.15: - version "0.1.31" - resolved "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz#b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff" - integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ== - xpath@0.0.27: version "0.0.27" resolved "https://registry.npmjs.org/xpath/-/xpath-0.0.27.tgz#dd3421fbdcc5646ac32c48531b4d7e9d0c2cfa92"