After enabling SSO for testing I can’t log in. Neither with SSO or Username/password.
When using SSO I get an error:
string.replace is not a function
*string.replace is not a function*
When I click on email login I get: " SSO is enabled, please log in with SSO"
Is there any way to log in?
n8n-1 | Error: TypeError: string.replace is not a function
n8n-1 | at ErrorReporter.defaultReport (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/errors/error-reporter.js:62:15)
n8n-1 | at ErrorReporter.error (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/errors/error-reporter.js:194:18)
n8n-1 | at reportError (/usr/local/lib/node_modules/n8n/dist/response-helper.js:104:54)
n8n-1 | at /usr/local/lib/node_modules/n8n/dist/response-helper.js:116:17
n8n-1 | {"file":"error-reporter.js","function":"defaultReport"}
n8n-1 | Error object received in defaultReport: TypeError: string.replace is not a function
n8n-1 | at escape (/usr/local/lib/node_modules/n8n/node_modules/xml-escape/index.js:11:17)
n8n-1 | at /usr/local/lib/node_modules/n8n/node_modules/samlify/build/src/libsaml.js:208:77
n8n-1 | at String.replace (<anonymous>)
n8n-1 | at /usr/local/lib/node_modules/n8n/node_modules/samlify/build/src/libsaml.js:228:33
n8n-1 | at Array.forEach (<anonymous>)
n8n-1 | at Object.replaceTagsByValue (/usr/local/lib/node_modules/n8n/node_modules/samlify/build/src/libsaml.js:227:36)
n8n-1 | at Object.loginRequestRedirectURL (/usr/local/lib/node_modules/n8n/node_modules/samlify/build/src/binding-redirect.js:112:48)
n8n-1 | at ServiceProvider.createLoginRequest (/usr/local/lib/node_modules/n8n/node_modules/samlify/build/src/entity-sp.js:86:51)
n8n-1 | at SamlService.getRedirectLoginRequestUrl (/usr/local/lib/node_modules/n8n/dist/sso.ee/saml/saml.service.ee.js:176:33)
n8n-1 | at SamlService.getLoginRequestUrl (/usr/local/lib/node_modules/n8n/dist/sso.ee/saml/saml.service.ee.js:169:31)
n8n-1 | at processTicksAndRejections (node:internal/process/task_queues:95:5)
n8n-1 | at SamlController.handleInitSSO (/usr/local/lib/node_modules/n8n/dist/sso.ee/saml/routes/saml.controller.ee.js:138:24)
n8n-1 | at SamlController.initSsoGet (/usr/local/lib/node_modules/n8n/dist/sso.ee/saml/routes/saml.controller.ee.js:132:16)
n8n-1 | at handler (/usr/local/lib/node_modules/n8n/dist/decorators/controller.registry.js:93:24)
n8n-1 | at /usr/local/lib/node_modules/n8n/dist/response-helper.js:111:26
I found the issue is here:
var escape = module.exports = function escape(string, ignore) {
var pattern;
if (string === null || string === undefined) return;
ignore = (ignore || '').replace(/[^&"<>\']/g, '');
pattern = '([&"<>\'])'.replace(new RegExp('[' + ignore + ']', 'g'), '');
// TODO bug here, string is an object
return string.replace(new RegExp(pattern, 'g'), function(str, item) {
return escape.map[item];
})
}
var map = escape.map = {
'>': '>'
, '<': '<'
, "'": '''
, '"': '"'
, '&': '&'
}