diff --git a/app/meteor-accounts-saml/server/saml_rocketchat.js b/app/meteor-accounts-saml/server/saml_rocketchat.js
index fdb9ad837f88..7234b5e29eb2 100644
--- a/app/meteor-accounts-saml/server/saml_rocketchat.js
+++ b/app/meteor-accounts-saml/server/saml_rocketchat.js
@@ -122,6 +122,12 @@ Meteor.methods({
section: name,
i18nLabel: 'SAML_Custom_Logout_Behaviour',
});
+ settings.add(`SAML_Custom_${ name }_custom_authn_context`, 'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport', {
+ type: 'string',
+ group: 'SAML',
+ section: name,
+ i18nLabel: 'SAML_Custom_Authn_Context',
+ });
},
});
@@ -149,6 +155,7 @@ const getSamlConfigs = function(service) {
mailOverwrite: settings.get(`${ service.key }_mail_overwrite`),
issuer: settings.get(`${ service.key }_issuer`),
logoutBehaviour: settings.get(`${ service.key }_logout_behaviour`),
+ customAuthnContext: settings.get(`${ service.key }_custom_authn_context`),
secret: {
privateKey: settings.get(`${ service.key }_private_key`),
publicCert: settings.get(`${ service.key }_public_cert`),
@@ -193,6 +200,7 @@ const configureSamlService = function(samlConfigs) {
cert: samlConfigs.secret.cert,
privateCert,
privateKey,
+ customAuthnContext: samlConfigs.customAuthnContext,
};
};
diff --git a/app/meteor-accounts-saml/server/saml_utils.js b/app/meteor-accounts-saml/server/saml_utils.js
index b910ff6c15d5..37313596a222 100644
--- a/app/meteor-accounts-saml/server/saml_utils.js
+++ b/app/meteor-accounts-saml/server/saml_utils.js
@@ -96,9 +96,10 @@ SAML.prototype.generateAuthorizeRequest = function(req) {
request += `\n`;
}
+ const authnContext = this.options.customAuthnContext || 'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport';
request
+= ''
- + 'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\n'
+ + `${ authnContext }\n`
+ '';
return request;
diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json
index 5fe15369f9d5..a7cb97ab8b19 100644
--- a/packages/rocketchat-i18n/i18n/en.i18n.json
+++ b/packages/rocketchat-i18n/i18n/en.i18n.json
@@ -2562,6 +2562,7 @@
"Same_As_Token_Sent_Via": "Same as \"Token Sent Via\"",
"Same_Style_For_Mentions": "Same style for mentions",
"SAML": "SAML",
+ "SAML_Custom_Authn_Context": "Custom Authn Context",
"SAML_Custom_Cert": "Custom Certificate",
"SAML_Custom_Debug": "Enable Debug",
"SAML_Custom_Entry_point": "Custom Entry Point",