diff --git a/src/core/index.js b/src/core/index.js index 00a796d32..d6a4d64b5 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -38,11 +38,12 @@ export function setup(id, clientID, domain, options, hookRunner, emitEventFn) { hashCleanup: options.hashCleanup === false ? false : true, allowedConnections: Immutable.fromJS(options.allowedConnections || []), ui: extractUIOptions(id, options), - defaultADUsernameFromEmailPrefix: options.defaultADUsernameFromEmailPrefix === false ? false : true + defaultADUsernameFromEmailPrefix: options.defaultADUsernameFromEmailPrefix === false ? false : true, + prefill: options.prefill || {} })); m = i18n.initI18n(m); - + return m; } @@ -365,6 +366,10 @@ export function defaultADUsernameFromEmailPrefix(m) { return get(m, "defaultADUsernameFromEmailPrefix", true); } +export function prefill(m) { + return get(m, "prefill", {}); +} + export function warn(x, str) { const shouldOutput = Map.isMap(x) ? !ui.disableWarnings(x) diff --git a/src/engine/classic.js b/src/engine/classic.js index 66c773202..33fbc108c 100644 --- a/src/engine/classic.js +++ b/src/engine/classic.js @@ -97,6 +97,13 @@ function validateAllowedConnections(m) { return m; } +const setPrefill = m => { + const { email, username } = l.prefill(m).toJS(); + if (typeof email === "string") m = setEmail(m, email); + if (typeof username === "string") m = setUsername(m, username, "username", false); + return m; +} + class Classic { static SCREENS = { @@ -111,15 +118,13 @@ class Classic { model = initDatabase(model, options); model = initEnterprise(model, options); - const { email, username } = options.prefill || {}; - if (typeof email === "string") model = setEmail(model, email); - if (typeof username === "string") model = setUsername(model, username, "username", false); - return model; } didReceiveClientSettings(m) { - return validateAllowedConnections(m); + m = validateAllowedConnections(m); + m = setPrefill(m); + return m; } willShow(m, opts) { diff --git a/support/index.html b/support/index.html index a1c9dbb3b..0fcfdc8a6 100644 --- a/support/index.html +++ b/support/index.html @@ -20,6 +20,7 @@ }; const lock = new Auth0Lock(cid, domain, options); + window.lock = lock; lock.on("authenticated", function(authResult) { console.log(authResult);