mirror of
https://github.com/netzbegruenung/meteor-accounts-saml.git
synced 2024-04-29 18:34:53 +02:00
save
This commit is contained in:
parent
9f9c9a0a03
commit
e27099cc1c
99
.npm/package/npm-shrinkwrap.json
generated
99
.npm/package/npm-shrinkwrap.json
generated
|
@ -1,29 +1,30 @@
|
|||
{
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"async": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-2.3.0.tgz",
|
||||
"from": "async@2.3.0"
|
||||
"integrity": "sha1-EBPRBRBH3TIP4k5JTVxm7K9hR9k="
|
||||
},
|
||||
"body-parser": {
|
||||
"version": "1.17.1",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.17.1.tgz",
|
||||
"from": "body-parser@1.17.1",
|
||||
"integrity": "sha1-dbO8mN3W5+DY/+dQ36ylxmmT+kc=",
|
||||
"dependencies": {
|
||||
"bytes": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
|
||||
"from": "bytes@2.4.0"
|
||||
"integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk="
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
|
||||
"from": "debug@2.6.1",
|
||||
"integrity": "sha1-eYVQkLosTjEVzH2HaUkdWPBJE1E=",
|
||||
"dependencies": {
|
||||
"ms": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
|
||||
"from": "ms@0.7.2"
|
||||
"integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -32,234 +33,234 @@
|
|||
"bytes": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-2.5.0.tgz",
|
||||
"from": "bytes@2.5.0"
|
||||
"integrity": "sha1-TJQj6i0lLCcMQbK97+/5u2tiwGo="
|
||||
},
|
||||
"connect": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/connect/-/connect-3.6.0.tgz",
|
||||
"from": "connect@3.6.0",
|
||||
"integrity": "sha1-8JpPfc0XMktmO3JcgVvbHEFYpG4=",
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
|
||||
"from": "debug@2.6.1"
|
||||
"integrity": "sha1-eYVQkLosTjEVzH2HaUkdWPBJE1E="
|
||||
},
|
||||
"ms": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
|
||||
"from": "ms@0.7.2"
|
||||
"integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U="
|
||||
}
|
||||
}
|
||||
},
|
||||
"content-type": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
|
||||
"from": "content-type@1.0.2"
|
||||
"integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0="
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.3.tgz",
|
||||
"from": "debug@2.6.3",
|
||||
"integrity": "sha1-D364wwll7AjHKsz6ATDIt5mEFB0=",
|
||||
"dependencies": {
|
||||
"ms": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
|
||||
"from": "ms@0.7.2"
|
||||
"integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U="
|
||||
}
|
||||
}
|
||||
},
|
||||
"depd": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
|
||||
"from": "depd@1.1.0"
|
||||
"integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM="
|
||||
},
|
||||
"ee-first": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||
"from": "ee-first@1.1.1"
|
||||
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
|
||||
},
|
||||
"ejs": {
|
||||
"version": "2.5.6",
|
||||
"resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.6.tgz",
|
||||
"from": "ejs@2.5.6"
|
||||
"integrity": "sha1-R5Y2v6P+Ox3r1SCH8KyyBLTxnIg="
|
||||
},
|
||||
"encodeurl": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
|
||||
"from": "encodeurl@>=1.0.1 <1.1.0"
|
||||
"integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA="
|
||||
},
|
||||
"escape-html": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
||||
"from": "escape-html@>=1.0.3 <1.1.0"
|
||||
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
|
||||
},
|
||||
"finalhandler": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.0.tgz",
|
||||
"from": "finalhandler@1.0.0",
|
||||
"integrity": "sha1-tWkcLAkSCS8YrCPpQWveXNfcZ1U=",
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
|
||||
"from": "debug@2.6.1"
|
||||
"integrity": "sha1-eYVQkLosTjEVzH2HaUkdWPBJE1E="
|
||||
},
|
||||
"ms": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
|
||||
"from": "ms@0.7.2"
|
||||
"integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U="
|
||||
}
|
||||
}
|
||||
},
|
||||
"http-errors": {
|
||||
"version": "1.6.1",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz",
|
||||
"from": "http-errors@1.6.1"
|
||||
"integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc="
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.4.15",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
|
||||
"from": "iconv-lite@0.4.15"
|
||||
"integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es="
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||
"from": "inherits@2.0.3"
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.4",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
|
||||
"from": "lodash@4.17.4"
|
||||
"integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
|
||||
},
|
||||
"media-typer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
"from": "media-typer@0.3.0"
|
||||
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.27.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
|
||||
"from": "mime-db@>=1.27.0 <1.28.0"
|
||||
"integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.15",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
|
||||
"from": "mime-types@2.1.15"
|
||||
"integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0="
|
||||
},
|
||||
"ms": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-1.0.0.tgz",
|
||||
"from": "ms@1.0.0"
|
||||
"integrity": "sha1-Wa3NIu3FQ/e1OBhi0xOHsfS8lHM="
|
||||
},
|
||||
"node-forge": {
|
||||
"version": "0.7.1",
|
||||
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz",
|
||||
"from": "node-forge@0.7.1"
|
||||
"integrity": "sha1-naYR6giYL0uUIGs760zJZl8gwwA="
|
||||
},
|
||||
"on-finished": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
||||
"from": "on-finished@2.3.0"
|
||||
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc="
|
||||
},
|
||||
"parseurl": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
|
||||
"from": "parseurl@>=1.3.1 <1.4.0"
|
||||
"integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.4.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
|
||||
"from": "qs@6.4.0"
|
||||
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
|
||||
},
|
||||
"querystring": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
|
||||
"from": "querystring@0.2.0"
|
||||
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
|
||||
},
|
||||
"raw-body": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz",
|
||||
"from": "raw-body@2.2.0",
|
||||
"integrity": "sha1-mUl2z2pQlqQRYoQEkvC9xdbn+5Y=",
|
||||
"dependencies": {
|
||||
"bytes": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
|
||||
"from": "bytes@2.4.0"
|
||||
"integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk="
|
||||
}
|
||||
}
|
||||
},
|
||||
"sax": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.2.tgz",
|
||||
"from": "sax@1.2.2"
|
||||
"integrity": "sha1-/YYxojvHgmvvXYcb24c3jJVkeCg="
|
||||
},
|
||||
"setprototypeof": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
|
||||
"from": "setprototypeof@1.0.3"
|
||||
"integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
|
||||
},
|
||||
"statuses": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
|
||||
"from": "statuses@1.3.1"
|
||||
"integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
|
||||
},
|
||||
"type-is": {
|
||||
"version": "1.6.15",
|
||||
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
|
||||
"from": "type-is@1.6.15"
|
||||
"integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA="
|
||||
},
|
||||
"unpipe": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||
"from": "unpipe@1.0.0"
|
||||
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
|
||||
},
|
||||
"utils-merge": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
|
||||
"from": "utils-merge@1.0.0"
|
||||
"integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
|
||||
},
|
||||
"xml-crypto": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/xml-crypto/-/xml-crypto-0.9.0.tgz",
|
||||
"from": "xml-crypto@0.9.0",
|
||||
"integrity": "sha1-IBBorkYOZ8LUprb1rTBW04B2t00=",
|
||||
"dependencies": {
|
||||
"xmldom": {
|
||||
"version": "0.1.19",
|
||||
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz",
|
||||
"from": "xmldom@0.1.19"
|
||||
"integrity": "sha1-Yx/Ad3bv2EEYvyUXGzftTQdaCrw="
|
||||
}
|
||||
}
|
||||
},
|
||||
"xml2js": {
|
||||
"version": "0.4.17",
|
||||
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz",
|
||||
"from": "xml2js@0.4.17",
|
||||
"integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=",
|
||||
"dependencies": {
|
||||
"xmlbuilder": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz",
|
||||
"from": "xmlbuilder@>=4.1.0 <5.0.0"
|
||||
"integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU="
|
||||
}
|
||||
}
|
||||
},
|
||||
"xmlbuilder": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.0.tgz",
|
||||
"from": "xmlbuilder@9.0.0"
|
||||
"integrity": "sha1-qTEbP4UJNFcAxJqPeb4GvMWYjRg="
|
||||
},
|
||||
"xmldom": {
|
||||
"version": "0.1.27",
|
||||
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
|
||||
"from": "xmldom@0.1.27"
|
||||
"integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
|
||||
},
|
||||
"xpath": {
|
||||
"version": "0.0.24",
|
||||
"resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.24.tgz",
|
||||
"from": "xpath@0.0.24"
|
||||
"integrity": "sha1-Gt4WLhzFI8jTn8fQavwW6iFvKfs="
|
||||
},
|
||||
"xpath.js": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.0.7.tgz",
|
||||
"from": "xpath.js@1.0.7"
|
||||
"integrity": "sha1-fpRif1QSdsvGprArXTXpQYVls+Q="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Package.describe({
|
||||
name:"steffo:meteor-accounts-saml",
|
||||
summary: "SAML Login (SP) for Meteor. Works with OpenAM, OpenIDP and provides Single Logout.",
|
||||
version: "0.0.13",
|
||||
version: "0.0.14",
|
||||
git: "https://github.com/steffow/meteor-accounts-saml.git"
|
||||
});
|
||||
|
||||
|
|
|
@ -108,7 +108,8 @@ Accounts.registerLoginHandler(function(loginRequest) {
|
|||
if (!user) {
|
||||
if (Meteor.settings.saml[0].dynamicProfile) {
|
||||
if (Meteor.settings.debug) {
|
||||
console.log("User not found. Will dynamically create one with '" + Meteor.settings.saml[0].localProfileMatchAttribute + "' = " + loginResult.profile[Meteor.settings.saml[0].localProfileMatchAttribute])
|
||||
console.log("User not found. Will dynamically create one with '" + Meteor.settings.saml[0].localProfileMatchAttribute + "' = " + loginResult.profile[Meteor.settings.saml[0].localProfileMatchAttribute]);
|
||||
console.log("Identity handle: " + profileOrEmail + " = " + JSON.stringify(profileOrEmailValue));
|
||||
}
|
||||
Accounts.createUser({
|
||||
//email: loginResult.profile.email,
|
||||
|
|
|
@ -408,14 +408,28 @@ SAML.prototype.validateResponse = function(samlResponse, relayState, callback) {
|
|||
|
||||
const attributeStatement = assertion.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'AttributeStatement')[0];
|
||||
if (attributeStatement) {
|
||||
const attributes = attributeStatement.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'Attribute')[0];
|
||||
|
||||
if (Meteor.settings.debug) {
|
||||
console.log("Attribute Statement found in SAML response: " + attributeStatement);
|
||||
}
|
||||
const attributes = attributeStatement.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'Attribute');
|
||||
if (Meteor.settings.debug) {
|
||||
console.log("Attributes will be processed: " + attributes.length);
|
||||
}
|
||||
if (attributes) {
|
||||
for (let i = 0; i < attributes.length; i++) {
|
||||
const value = attributes[i].getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'AttributeValue')[0];
|
||||
profile[attributes[i].getAttribute('Name')] = value[0].textContent;
|
||||
if (Meteor.settings.debug) {
|
||||
console.log("Name: " + attributes[i]);
|
||||
console.log(`Adding attrinute from SAML response to profile:` + attributes[i].getAttribute('Name') + " = " + value.textContent);
|
||||
}
|
||||
profile[attributes[i].getAttribute('Name')] = value.textContent;
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (Meteor.settings.debug) {
|
||||
console.log("No Attributes found in SAML attribute statement.");
|
||||
}
|
||||
}
|
||||
|
||||
if (!profile.mail && profile['urn:oid:0.9.2342.19200300.100.1.3']) {
|
||||
// See http://www.incommonfederation.org/attributesummary.html for definition of attribute OIDs
|
||||
|
@ -425,7 +439,11 @@ SAML.prototype.validateResponse = function(samlResponse, relayState, callback) {
|
|||
if (!profile.email && profile.mail) {
|
||||
profile.email = profile.mail;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (Meteor.settings.debug) {
|
||||
console.log("No Attribute Statement found in SAML response.");
|
||||
}
|
||||
}
|
||||
|
||||
if (!profile.email && profile.nameID && profile.nameIDFormat && profile.nameIDFormat.indexOf('emailAddress') >= 0) {
|
||||
profile.email = profile.nameID;
|
||||
|
|
Loading…
Reference in a new issue