diff --git a/packages/meteor-accounts-saml/server/saml_server.js b/packages/meteor-accounts-saml/server/saml_server.js index 9f88f108e044..7a848dcc4354 100644 --- a/packages/meteor-accounts-saml/server/saml_server.js +++ b/packages/meteor-accounts-saml/server/saml_server.js @@ -117,7 +117,7 @@ Accounts.registerLoginHandler(function(loginRequest) { if (!user) { const newUser = { - name: loginResult.profile.cn || loginResult.profile.username, + name: loginResult.profile.displayName || loginResult.profile.cn || loginResult.profile.username, active: true, globalRoles: ['user'], emails: emailList.map((email) => ({ diff --git a/packages/meteor-accounts-saml/server/saml_utils.js b/packages/meteor-accounts-saml/server/saml_utils.js index 35febe665f02..27c6da91db25 100644 --- a/packages/meteor-accounts-saml/server/saml_utils.js +++ b/packages/meteor-accounts-saml/server/saml_utils.js @@ -361,6 +361,15 @@ SAML.prototype.mapAttributes = function(attributeStatement, profile) { if (!profile.email && profile.mail) { profile.email = profile.mail; } + + if (!profile.displayName && profile['urn:oid:2.16.840.1.113730.3.1.241']) { + profile.displayName = profile['urn:oid:2.16.840.1.113730.3.1.241']; + } + + if (!profile.cn && profile['urn:oid:2.5.4.3']) { + profile.cn = profile['urn:oid:2.5.4.3']; + } + }; SAML.prototype.validateResponse = function(samlResponse, relayState, callback) {