Socket
Socket
Sign inDemoInstall

auth0-lock

Package Overview
Dependencies
Maintainers
43
Versions
338
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

auth0-lock - npm Package Compare versions

Comparing version 11.28.1 to 11.29.0

58

lib/__tests__/connection/database/actions.js

@@ -32,4 +32,12 @@ 'use strict';

describe('database/actions.js', function () {
beforeEach(function () {
jest.resetAllMocks();
});
it('signUp splits root attributes correctly', function () {
var id = 1;
var hookRunner = jest.fn(function (str, m, context, fn) {
return fn();
});
require('connection/database/index').databaseConnectionName = function () {

@@ -41,2 +49,3 @@ return 'test-connection';

};
var m = _immutable2.default.fromJS({

@@ -71,2 +80,5 @@ field: {

additionalSignUpFields: [{ name: 'family_name', storage: 'root' }, { name: 'given_name', storage: 'root' }, { name: 'name', storage: 'root' }, { name: 'nickname', storage: 'root' }, { name: 'picture', storage: 'root' }, { name: 'other_prop' }]
},
core: {
hookRunner: hookRunner
}

@@ -106,2 +118,48 @@ });

});
it('runs the signingUp hook on signUp', function () {
var id = 1;
require('connection/database/index').databaseConnectionName = function () {
return 'test-connection';
};
require('connection/database/index').shouldAutoLogin = function () {
return true;
};
var hookRunner = jest.fn(function (str, m, context, fn) {
return fn();
});
var m = _immutable2.default.fromJS({
field: {
email: {
value: 'test@email.com'
},
password: {
value: 'testpass'
}
},
core: {
hookRunner: hookRunner
}
});
(0, _store.swap)(_store.setEntity, 'lock', id, m);
(0, _actions.signUp)(id);
var _coreActionsMock2 = coreActionsMock(),
validateAndSubmitMock = _coreActionsMock2.validateAndSubmit.mock;
validateAndSubmitMock.calls[0][2](m);
var _webApiMock2 = webApiMock(),
signUpMock = _webApiMock2.signUp.mock;
expect(hookRunner).toHaveBeenCalledTimes(1);
expect(hookRunner).toHaveBeenCalledWith('signingUp', m, null, expect.any(Function));
expect(signUpMock.calls.length).toBe(1);
expect(signUpMock.calls[0][0]).toBe(id);
});
});

86

lib/__tests__/core/actions.js

@@ -7,5 +7,25 @@ 'use strict';

var _index = require('core/index');
var l = _interopRequireWildcard(_index);
var _index2 = require('store/index');
var _web_api = require('../../core/web_api');
var _web_api2 = _interopRequireDefault(_web_api);
var _immutable = require('immutable');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
jest.mock('../../core/web_api', function () {
return {
checkSession: jest.fn()
__esModule: true,
default: {
logIn: jest.fn(),
checkSession: jest.fn()
}
};

@@ -15,3 +35,5 @@ });

jest.mock('store/index', function () {
return {
var _ref;
return _ref = {
read: jest.fn(function () {

@@ -23,13 +45,6 @@ return 'model';

updateEntity: 'updateEntity'
};
}, _ref['read'] = jest.fn(), _ref;
});
jest.mock('core/index', function () {
return {
id: function id() {
return 'id';
},
setSubmitting: jest.fn()
};
});
jest.mock('core/index');

@@ -39,3 +54,8 @@ describe('core.actions', function () {

jest.resetAllMocks();
l.submitting.mockReturnValue(true);
l.id.mockReturnValue('id');
l.auth.params.mockReturnValue((0, _immutable.fromJS)({}));
});
describe('checkSession', function () {

@@ -55,2 +75,46 @@ it('should set submitting on start', function () {

});
describe('logIn', function () {
it('run the loggingIn hook', function (done) {
var m = {};
_index2.read.mockReturnValue(m);
_web_api2.default.logIn.mockImplementation(function (id, params, authParams, cb) {
cb(null, {});
done();
});
l.runHook.mockImplementation(function (m, hook, context, fn) {
expect(hook).toEqual('loggingIn');
fn();
});
(0, _actions.logIn)();
});
it('should display an error if one was thrown from the hook', function (done) {
var m = {};
_index2.read.mockReturnValue(m);
var store = require('store/index');
store.swap.mockImplementation(function (entity, n, id, fn, value, error) {
if (error) {
expect(error).toEqual('This is a hook error');
done();
}
});
l.loginErrorMessage.mockImplementation(function (m, error) {
return error.description;
});
l.runHook.mockImplementation(function (m, hook, fn) {
expect(hook).toEqual('loggingIn');
throw { code: 'hook_error', description: 'This is a hook error' };
});
(0, _actions.logIn)();
});
});
});

75

lib/__tests__/core/remote_data.js
'use strict';
var _index = require('../../core/index');
var l = _interopRequireWildcard(_index);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
var getSyncRemoteData = function getSyncRemoteData() {

@@ -7,35 +13,39 @@ return require('core/remote_data').syncRemoteData;

describe('remote_data.syncRemoteData()', function () {
beforeEach(function () {
jest.resetModules();
jest.mock('sync', function () {
return jest.fn();
});
jest.mock('sync', function () {
return jest.fn();
});
jest.mock('connection/enterprise', function () {
return {
isADEnabled: function isADEnabled() {
return true;
}
};
});
jest.mock('connection/enterprise', function () {
return {
isADEnabled: function isADEnabled() {
return true;
}
};
});
jest.mock('core/index', function () {
return {
useTenantInfo: function useTenantInfo() {
return true;
},
id: function id() {
return 'id';
},
emitEvent: jest.fn()
};
});
jest.mock('core/index', function () {
return {
useTenantInfo: function useTenantInfo() {
return true;
},
id: function id() {
return 'id';
}
};
});
jest.mock('core/sso/data', function () {
return {
fetchSSOData: jest.fn(function (id, adEnabled, cb) {
return cb(null, {});
})
};
});
jest.mock('core/sso/data', function () {
return {
fetchSSOData: jest.fn()
};
});
describe('remote_data.syncRemoteData()', function () {
beforeEach(function () {
jest.clearAllMocks();
});
describe('calls getSSOData with AD information', function () {

@@ -47,15 +57,16 @@ [true, false].forEach(function (isAdEnabled) {

};
var syncRemoteData = getSyncRemoteData();
syncRemoteData();
var ssoCall = require('sync').mock.calls.find(function (c) {
return c[1] === 'sso';
});
ssoCall[2].syncFn('model', 'callback');
ssoCall[2].syncFn('model', jest.fn());
var _require$fetchSSOData = require('core/sso/data').fetchSSOData.mock.calls[0],
id = _require$fetchSSOData[0],
sendADInformation = _require$fetchSSOData[1],
callback = _require$fetchSSOData[2];
sendADInformation = _require$fetchSSOData[1];
expect(sendADInformation).toBe(isAdEnabled);
expect(l.emitEvent).toHaveBeenCalledWith('model', 'ssodata fetched', expect.anything());
});

@@ -62,0 +73,0 @@ });

@@ -151,21 +151,37 @@ 'use strict';

_web_api2.default.signUp(id, params, function (error, result, popupHandler) {
for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
args[_key - 3] = arguments[_key];
var errorHandler = function errorHandler(error, popupHandler) {
if (!!popupHandler) {
popupHandler._current_popup.kill();
}
if (error) {
if (!!popupHandler) {
popupHandler._current_popup.kill();
}
var wasInvalidCaptcha = error && error.code === 'invalid_captcha';
swapCaptcha(id, wasInvalidCaptcha, function () {
setTimeout(function () {
return signUpError(id, error);
}, 250);
var wasInvalidCaptcha = error && error.code === 'invalid_captcha';
swapCaptcha(id, wasInvalidCaptcha, function () {
setTimeout(function () {
return signUpError(id, error);
}, 250);
});
};
try {
// For now, always pass 'null' for the context as we don't need it yet.
// If we need it later, it'll save a breaking change in hooks already in use.
var context = null;
l.runHook(m, 'signingUp', context, function () {
_web_api2.default.signUp(id, params, function (error, result, popupHandler) {
for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
args[_key - 3] = arguments[_key];
}
if (error) {
errorHandler(error, popupHandler);
} else {
signUpSuccess.apply(undefined, [id, result, popupHandler].concat(args));
}
});
} else {
signUpSuccess.apply(undefined, [id, result, popupHandler].concat(args));
}
});
});
} catch (e) {
errorHandler(e);
}
});

@@ -230,2 +246,4 @@ }

l.emitEvent(m, 'signup error', error);
var errorKey = error.code === 'invalid_password' && invalidPasswordKeys[error.name] || error.code;

@@ -235,3 +253,6 @@

l.emitEvent(m, 'signup error', error);
if (error.code === 'hook_error') {
(0, _index.swap)(_index.updateEntity, 'lock', id, l.setSubmitting, false, error.description || errorMessage);
return;
}

@@ -238,0 +259,0 @@ if (errorKey === 'invalid_captcha') {

@@ -211,2 +211,3 @@ 'use strict';

var m = (0, _index.read)(_index.getEntity, 'lock', id);
if (l.submitting(m)) {

@@ -224,11 +225,23 @@ f(m);

validateAndSubmit(id, fields, function (m) {
_web_api2.default.logIn(id, params, l.auth.params(m).toJS(), function (error, result) {
if (error) {
setTimeout(function () {
return logInError(id, fields, error, logInErrorHandler);
}, 250);
} else {
logInSuccess(id, result);
}
});
try {
// For now, always pass 'null' for the context as we don't need it yet.
// If we need it later, it'll save a breaking change in hooks already in use.
var context = null;
l.runHook(m, 'loggingIn', context, function () {
_web_api2.default.logIn(id, params, l.auth.params(m).toJS(), function (error, result) {
if (error) {
setTimeout(function () {
return logInError(id, fields, error, logInErrorHandler);
}, 250);
} else {
logInSuccess(id, result);
}
});
});
} catch (e) {
setTimeout(function () {
return logInError(id, fields, e, logInErrorHandler);
}, 250);
}
});

@@ -274,2 +287,3 @@ }

var errorCode = error.error || error.code;
localHandler(id, error, fields, function () {

@@ -276,0 +290,0 @@ return setTimeout(function () {

'use strict';
exports.__esModule = true;
exports.reset = exports.auth = exports.ui = undefined;
exports.reset = exports.auth = exports.ui = exports.validPublicHooks = undefined;

@@ -34,2 +34,3 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

exports.suppressSubmitOverlay = suppressSubmitOverlay;
exports.hooks = hooks;
exports.withAuthOptions = withAuthOptions;

@@ -118,2 +119,4 @@ exports.extractTenantBaseUrlOption = extractTenantBaseUrlOption;

var validPublicHooks = exports.validPublicHooks = ['loggingIn', 'signingUp'];
function setup(id, clientID, domain, options, hookRunner, emitEventFn, handleEventFn) {

@@ -136,3 +139,4 @@ var m = init(id, _immutable2.default.fromJS({

connectionResolver: options.connectionResolver,
handleEventFn: handleEventFn
handleEventFn: handleEventFn,
hooks: extractHookOptions(options)
}));

@@ -263,2 +267,6 @@

function hooks(m) {
return get(m, 'hooks');
}
function extractUIOptions(id, options) {

@@ -305,2 +313,14 @@ var closable = options.container ? false : undefined === options.closable ? true : !!options.closable;

function extractHookOptions(options) {
var hooks = {};
validPublicHooks.forEach(function (hookName) {
if (options.hooks && typeof options.hooks[hookName] === 'function') {
hooks[hookName] = options.hooks[hookName];
}
});
return new _immutable2.default.fromJS(hooks);
}
var _dataFns2 = (0, _data_utils.dataFns)(['core', 'ui']),

@@ -739,4 +759,4 @@ getUI = _dataFns2.get,

// Custom rule error (except blocked_user)
if (error.code === 'rule_error') {
// Custom rule or hook error (except blocked_user)
if (error.code === 'rule_error' || error.code === 'hook_error') {
return error.description || i18n.html(m, ['error', 'login', 'lock.fallback']);

@@ -743,0 +763,0 @@ }

@@ -63,3 +63,10 @@ 'use strict';

syncFn: function syncFn(m, cb) {
return (0, _data.fetchSSOData)(l.id(m), (0, _enterprise.isADEnabled)(m), cb);
(0, _data.fetchSSOData)(l.id(m), (0, _enterprise.isADEnabled)(m), function () {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
l.emitEvent(m, 'ssodata fetched', args);
cb.apply(undefined, args);
});
},

@@ -66,0 +73,0 @@ successFn: function successFn(m, result) {

@@ -179,3 +179,3 @@ 'use strict';

function getVersion() {
return '11.28.1';
return '11.29.0';
}

@@ -98,2 +98,17 @@ 'use strict';

});
/*
This is a hack for the following conflicting css-rule:
@media screen and (max-width: 480px)
html.auth0-lock-html body > * {
display: none;
}
*/
var fixInterval = setInterval(function () {
var iframe = document.querySelector('iframe[title="recaptcha challenge"]');
if (!iframe) {
return;
}
iframe.parentNode.parentNode.style.display = 'block';
clearInterval(fixInterval);
}, 300);
});

@@ -110,7 +125,6 @@ };

'div',
{ className: this.props.isValid ? "auth0-lock-recaptcha-block" : "auth0-lock-recaptcha-block auth0-lock-recaptcha-block-error" },
_react2.default.createElement('div', {
className: 'auth0-lock-recaptchav2',
ref: this.ref
})
{
className: this.props.isValid ? 'auth0-lock-recaptcha-block' : 'auth0-lock-recaptcha-block auth0-lock-recaptcha-block-error'
},
_react2.default.createElement('div', { className: 'auth0-lock-recaptchav2', ref: this.ref })
);

@@ -117,0 +131,0 @@ };

@@ -123,3 +123,3 @@ 'use strict';

method: 'registerLanguageDictionary',
url: l.languageBaseUrl(m) + '/js/lock/' + '11.28.1' + '/' + language + '.js',
url: l.languageBaseUrl(m) + '/js/lock/' + '11.29.0' + '/' + language + '.js',
check: function check(str) {

@@ -126,0 +126,0 @@ return str && str === language;

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Andersins vul jou telefoonnommer in om inteken<br/>of skep n rekening',
passwordlessSMSCodeInstructions: 'Ons stuur SMS met die kode <br/>na %s.',
passwordlessSMSCodeInstructions: 'Ons stuur SMS met die kode na %s.',
passwordlessSMSInstructions: 'Vul jou telenfoonnommer in om in te teken <br/>of skep jou rekening',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'jou telefoonnommer',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Əks halda, giriş üçün telefon nömrənizi daxil edin<br/>və ya qeydiyyatdan keçin',
passwordlessSMSCodeInstructions: 'Sizə SMS göndərdik<br/>%s.',
passwordlessSMSCodeInstructions: 'Sizə SMS göndərdik %s.',
passwordlessSMSInstructions: 'Giriş üçün telefon nömrənizi daxil edin<br/>və ya qeydiyyatdan keçin',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'telefon nömrəniz',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'В противен случай, напишете телефонния си номер или влезте в профила си<br/>, или създайте нов профил',
passwordlessSMSCodeInstructions: 'Изпратихме Ви съобщение с кода<br/>на %s.',
passwordlessSMSCodeInstructions: 'Изпратихме Ви съобщение с кода на %s.',
passwordlessSMSInstructions: 'Моля напишете телефонния си номер за да влезете в профила си<br/>, или създайте нов профил',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'Вашият телефонен номерr',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Altrament, introduïu el vostre telèfon per iniciar sessió<br/>o registrar-vos',
passwordlessSMSCodeInstructions: 'Se us ha enviat un SMS amb el codi<br/>a %s.',
passwordlessSMSCodeInstructions: 'Se us ha enviat un SMS amb el codi a %s.',
passwordlessSMSInstructions: 'Indiqueu el vostre telèfon per iniciar sessió<br/>o registrar-vos',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'número de telèfon',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Ellers, indtast dit telefonnummer for at logge ind<br/>eller oprette en konto',
passwordlessSMSCodeInstructions: 'En SMS med koden er sendt<br/>til %s.',
passwordlessSMSCodeInstructions: 'En SMS med koden er sendt til %s.',
passwordlessSMSInstructions: 'Indtast dit telefonnummer for at logge ind<br/>eller oprette en konto',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'dit telefonnummer',

@@ -98,3 +98,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Andernfalls geben Sie Ihre Telefonnummer ein,<br>um sich anzumelden oder ein Konto zu erstellen',
passwordlessSMSCodeInstructions: 'Eine SMS mit dem Code wurde gesendet<br/>an %s.',
passwordlessSMSCodeInstructions: 'Eine SMS mit dem Code wurde gesendet an %s.',
passwordlessSMSInstructions: 'Geben Sie Ihre Telefonnummer ein,<br>um sich anzumelden oder ein Konto zu erstellen',

@@ -101,0 +101,0 @@ phoneNumberInputPlaceholder: 'Ihre Telefonnummer',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Διαφορετικά, για να συνδεθείτε εισάγετε τοv αριθμό κινητού σας <br/> ή δημιουργήστε έναν λογαριασμό',
passwordlessSMSCodeInstructions: 'Ένα SMS με τον κωδικό σας έχει σταλθεί στο:<br/> %s.',
passwordlessSMSCodeInstructions: 'Ένα SMS με τον κωδικό σας έχει σταλθεί στο: %s.',
passwordlessSMSInstructions: 'Για να συνδεθείτε εισάγετε τοv αριθμό κινητού σας <br/> ή δημιουργήστε έναν λογαριασμό',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'το κινητό σας',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'También puede ingresar su teléfono<br/>para iniciar sesión o registrarse',
passwordlessSMSCodeInstructions: 'Se ha enviado un SMS con el código<br/>a %s.',
passwordlessSMSCodeInstructions: 'Se ha enviado un SMS con el código a %s.',
passwordlessSMSInstructions: 'Ingrese su teléfono para iniciar sesión<br/>o registrarse',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'número de teléfono',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Muidu, sisesta oma telefoninumber, et sisse logida<br/>või konto luua',
passwordlessSMSCodeInstructions: 'SMS koodiga saadeti numbrile: <br/> %s.',
passwordlessSMSCodeInstructions: 'SMS koodiga saadeti numbrile: %s.',
passwordlessSMSInstructions: 'Sisesta oma telefoninumber, et sisse logida<br/>või konto luua',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'sinu telefoninumber',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'در غیر اینصورت شماره موبایل خود را وارد کنید<br/>یا حسابی ایجاد کنید',
passwordlessSMSCodeInstructions: 'پیامکی شامل کد برایتان به شماره <br/> %s ارسال شد.',
passwordlessSMSCodeInstructions: 'پیامکی شامل کد برایتان به شماره %s ارسال شد.',
passwordlessSMSInstructions: 'شماره موبایل خود را وارد کنید<br/>یا حسابی ایجاد کنید',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'شماره موبایل',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Muussa tapauksessa, syötä puhelinnumerosi kirjautuaksesi<br/>tai luo käyttäjätunnus',
passwordlessSMSCodeInstructions: 'Koodin sisältävä tekstiviesti on lähetetty<br/>numeroon %s.',
passwordlessSMSCodeInstructions: 'Koodin sisältävä tekstiviesti on lähetetty numeroon %s.',
passwordlessSMSInstructions: 'Syötä puhelinnumerosi kirjautuaksesi<br/>tai luo käyttäjätunnus',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'puhelinnumerosi',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Sinon saisissez votre numéro de téléphone pour vous connecter<br/>ou créez un compte',
passwordlessSMSCodeInstructions: 'Un SMS avec le code a été envoyé<br/>à %s.',
passwordlessSMSCodeInstructions: 'Un SMS avec le code a été envoyé à %s.',
passwordlessSMSInstructions: 'Saisissez votre numéro de téléphone pour vous connecter<br/>ou créez un compte',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'votre numéro de téléphone',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'U protivnom, upišite svoj broj telefona kako biste se prijavili<br/>ili napravite račun.',
passwordlessSMSCodeInstructions: 'Tekstualna poruka s kôdom poslana vam je<br/>na %s.',
passwordlessSMSCodeInstructions: 'Tekstualna poruka s kôdom poslana vam je na %s.',
passwordlessSMSInstructions: 'Upišite svoj broj telefona kako biste se prijavili<br/>ili napravite račun.',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'vaš broj telefona',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Atau, masukkan nomor telepon Anda untuk masuk<br/>atau buat akun',
passwordlessSMSCodeInstructions: 'SMS dengan kode telah dikirimkan<br/>ke %s.',
passwordlessSMSCodeInstructions: 'SMS dengan kode telah dikirimkan ke %s.',
passwordlessSMSInstructions: 'Masukkan nomor telepon Anda untuk masuk<br/>atau buat akun',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'nomor telepon Anda',

@@ -97,3 +97,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Altrimenti, si prega d’inserire il numero di telefono per accedere<br/>o creare un account',
passwordlessSMSCodeInstructions: 'Un SMS con il codice è stato inviato<br/>a %s.',
passwordlessSMSCodeInstructions: 'Un SMS con il codice è stato inviato a %s.',
passwordlessSMSInstructions: 'Si prega di inserire il numero di telefono<br/>o creare un account',

@@ -100,0 +100,0 @@ phoneNumberInputPlaceholder: 'il tuo numero di telefono',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Arba įveskite telefono numerį prisijungti<br/>arba susikurti paskyrą',
passwordlessSMSCodeInstructions: 'SMS su kodu buvo išsiųstas<br/>į %s.',
passwordlessSMSCodeInstructions: 'SMS su kodu buvo išsiųstas į %s.',
passwordlessSMSInstructions: 'Įveskite telefono numerį prisijungti<br/>arba susikurti paskyrą',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'Jūsų telefono numeris',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Vai arī ievadiet savu tālruņa numuru, lai pieteiktos<br/>vai izveidotu kontu',
passwordlessSMSCodeInstructions: 'Īsziņa ar kodu ir nosūtīta<br/>uz adresi %s.',
passwordlessSMSCodeInstructions: 'Īsziņa ar kodu ir nosūtīta uz adresi %s.',
passwordlessSMSInstructions: 'Ievadiet savu tālruņa numuru, lai pieteiktos<br/>vai izveidotu kontu',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'jūsu tālruņa numurs',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Jika tidak, masukkan nombor telefon anda untuk log masuk<br/>atau mencipta akaun',
passwordlessSMSCodeInstructions: 'SMS dengan kod telah dihantar<br/>ke %s.',
passwordlessSMSCodeInstructions: 'SMS dengan kod telah dihantar ke %s.',
passwordlessSMSInstructions: 'Masukkan nombor telefon anda untuk log masuk<br/>atau mencipta akaun',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'nombor telefon anda',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Alternativt, skriv inn ditt telefonnummer for å logge inn<br>eller opprett en konto',
passwordlessSMSCodeInstructions: 'En SMS med koden har blitt sendt<br/>til %s.',
passwordlessSMSCodeInstructions: 'En SMS med koden har blitt sendt til %s.',
passwordlessSMSInstructions: 'Skriv inn ditt telefonnummer for å logge inn<br>eller opprett en konto',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'ditt telefonnummer',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Anders, voer uw telefoonnummer in om in te loggen<br/>of creëer een nieuwe gebruikersaccount',
passwordlessSMSCodeInstructions: 'Er is een SMS met de code verstuurd <br/>naar %s.',
passwordlessSMSCodeInstructions: 'Er is een SMS met de code verstuurd naar %s.',
passwordlessSMSInstructions: 'Voer uw telefoonnummer in om in te loggen <br/>of creëer een nieuw gebruikersaccount',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'uw telefoonnummer',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Eller, tast inn ditt mobilnummer for å logge inn<br/>eller opprette ein brukarkonto',
passwordlessSMSCodeInstructions: 'Ein SMS med kode er sendt<br/>til %s.',
passwordlessSMSCodeInstructions: 'Ein SMS med kode er sendt til %s.',
passwordlessSMSInstructions: 'Tast inn ditt mobilnummer for å logge inn<br/>eller opprette ein brukarkonto',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'ditt mobilnummer',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Eller, tast inn ditt mobilnummer for å logge inn<br/>eller opprette en brukerkonto',
passwordlessSMSCodeInstructions: 'En SMS med kode er sendt<br/>til %s.',
passwordlessSMSCodeInstructions: 'En SMS med kode er sendt til %s.',
passwordlessSMSInstructions: 'Tast inn ditt mobilnummer for å logge inn<br/>eller opprette en brukerkonto',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'ditt mobilnummer',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'W innym przypadku wpisz numer telefonu, by się zalogować<br/>lub stwórz konto',
passwordlessSMSCodeInstructions: 'SMS z kodem został wysłany na numer<br/>%s.',
passwordlessSMSCodeInstructions: 'SMS z kodem został wysłany na numer %s.',
passwordlessSMSInstructions: 'Wpisz numer telefonu, by się zalogować<br/>lub stwórz konto',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'Twój numer telefonu',

@@ -97,3 +97,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Senão, digite seu telefone para entrar<br/>ou criar uma conta',
passwordlessSMSCodeInstructions: 'Um SMS com o código foi enviado<br/>para %s.',
passwordlessSMSCodeInstructions: 'Um SMS com o código foi enviado para %s.',
passwordlessSMSInstructions: 'Digite seu telefone para entrar<br/>ou criar uma conta',

@@ -100,0 +100,0 @@ phoneNumberInputPlaceholder: 'seu número de telefone',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Caso contrário, introduza o seu número de telefone para iniciar sessão<br/>ou criar uma conta',
passwordlessSMSCodeInstructions: 'Foi enviada mensagem por SMS com o código<br/>para %s.',
passwordlessSMSCodeInstructions: 'Foi enviada mensagem por SMS com o código para %s.',
passwordlessSMSInstructions: 'Introduza o seu número de telefone para iniciar sessão<br/>ou criar uma conta',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'o seu número de telefone',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: ' Dacă nu, introdu un număr de telefon pentru conectare <br/>sau creează un cont',
passwordlessSMSCodeInstructions: 'Un SMS cu codul de acces a fost trimis la<br/>la %s.',
passwordlessSMSCodeInstructions: 'Un SMS cu codul de acces a fost trimis la la %s.',
passwordlessSMSInstructions: 'Introdu numărul de telefon pentru conectare<br/>sau creează un cont',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'numărul tău de telefon',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Либо введите Ваш номер телефона, чтобы войти<br/>или зарегистрироваться',
passwordlessSMSCodeInstructions: 'СМС с кодом было отправлено<br/>на %s.',
passwordlessSMSCodeInstructions: 'СМС с кодом было отправлено на %s.',
passwordlessSMSInstructions: 'Введите Ваш номер телефона, чтобы войти<br/>или зарегистрироваться',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'Ваш номер телефона',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Buď, zadajte vaše telefónne číslo pre prihlásenie<br/>alebo vytvorte účet',
passwordlessSMSCodeInstructions: 'Poslali sme Vám SMS s kódom<br/>na telefónne číslo %s.',
passwordlessSMSCodeInstructions: 'Poslali sme Vám SMS s kódom na telefónne číslo %s.',
passwordlessSMSInstructions: 'Pre prihlásenie zadajte Vaše telefónne číslo<br/>alebo vytvorte účet',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'Vaše telefónne číslo',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Lahko tudi vnesete svojo telefonsko številko za prijavo<br/>ali ustvarjanje računa',
passwordlessSMSCodeInstructions: 'Poslali smo SMS s kodo<br/>na številko %s.',
passwordlessSMSCodeInstructions: 'Poslali smo SMS s kodo na številko %s.',
passwordlessSMSInstructions: 'Vnesite svojo telefonsko številko za prijavo<br/>ali ustvarjanje računa',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'vaša telefonska številka',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'U suprotnom, unesite broj telefona da biste se prijavili<br/> ili kreirajte nalog',
passwordlessSMSCodeInstructions: 'SMS poruka sa kôdom poslata je <br/>na %s.',
passwordlessSMSCodeInstructions: 'SMS poruka sa kôdom poslata je na %s.',
passwordlessSMSInstructions: 'Unesite broj telefona da biste se prijavili<br/> ili kreirajte nalog',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'vaš broj telefona',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Annars, ange ditt telefonnummer för att logga in<br>eller skapa ett konto',
passwordlessSMSCodeInstructions: 'Ett SMS med koden har skickats<br>till %s.',
passwordlessSMSCodeInstructions: 'Ett SMS med koden har skickats till %s.',
passwordlessSMSInstructions: 'Ange ditt telefonnummer för att logga in<br>eller skapa ett konto',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'ditt telefonnummer',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Aksi halde, giriş yapmak için telefon numaranızı girin<br/>veya bir hesap oluşturun',
passwordlessSMSCodeInstructions: 'Size kod içeren bir SMS gönderdik<br/>%s.',
passwordlessSMSCodeInstructions: 'Size kod içeren bir SMS gönderdik %s.',
passwordlessSMSInstructions: 'Giriş yapmak için telefon numaranızı girin<br/>veya bir hesap oluşturun',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'telefon numaranız',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Або введіть ваш номер телефону для того щоб<br>увійти або зареєструватися',
passwordlessSMSCodeInstructions: 'СМС з кодом було відправлено<br/>на %s.',
passwordlessSMSCodeInstructions: 'СМС з кодом було відправлено на %s.',
passwordlessSMSInstructions: 'Введіть ваш номер телефону для того щоб<br>увійти або зареєструватися',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'Ваш номер телефону',

@@ -101,3 +101,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'В іншому випадку введіть номер телефону, щоб увійти в <br/> або створити обліковий запис',
passwordlessSMSCodeInstructions: 'SMS-повідомлення з кодом відправлено <br/> на %s.',
passwordlessSMSCodeInstructions: 'SMS-повідомлення з кодом відправлено на %s.',
passwordlessSMSInstructions: 'Введіть номер телефону, щоб увійти в <br/> або створити обліковий запис',

@@ -104,0 +104,0 @@ phoneNumberInputPlaceholder: 'ваш номер телефону',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: 'Bằng không, nhập số điện thoại của bạn để đăng nhập<br/>hoặc đăng ký',
passwordlessSMSCodeInstructions: '1 SMS có mã số đã được gửi <br/>tới %s.',
passwordlessSMSCodeInstructions: '1 SMS có mã số đã được gửi tới %s.',
passwordlessSMSInstructions: 'Nhập số điện thoại của bạn để đăng nhập<br/>hoặc đăng ký',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: 'Số điện thoại',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: '您還可以使用手機號碼登入<br>或是建立帳號。',
passwordlessSMSCodeInstructions: '代碼已透過簡訊發送到<br> %s 。',
passwordlessSMSCodeInstructions: '代碼已透過簡訊發送到 %s 。',
passwordlessSMSInstructions: '輸入手機號碼登入<br>或是建立帳號',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: '您的手機號碼',

@@ -100,3 +100,3 @@ 'use strict';

passwordlessSMSAlternativeInstructions: '您还可以通过手机号码登录<br/>或者创建账号。',
passwordlessSMSCodeInstructions: '代码已通过短信发送到<br/> %s。',
passwordlessSMSCodeInstructions: '代码已通过短信发送到 %s。',
passwordlessSMSInstructions: '输入手机号码登录<br/>或者创建账号',

@@ -103,0 +103,0 @@ phoneNumberInputPlaceholder: '您的手机号码',

@@ -45,3 +45,3 @@ 'use strict';

exports.default = Auth0Lock;
Auth0Lock.version = '11.28.1';
Auth0Lock.version = '11.29.0';

@@ -48,0 +48,0 @@ // TODO: should we have different telemetry for classic/passwordless?

@@ -44,2 +44,2 @@ 'use strict';

Auth0LockPasswordless.version = '11.28.1';
Auth0LockPasswordless.version = '11.29.0';

@@ -76,5 +76,3 @@ 'use strict';

l.emitEvent(model, 'socialOrPhoneNumber submit');
} else if (screenName === 'vcode') {
l.emitEvent(model, 'vcode submit');
}
} else if (screenName === 'vcode') {}

@@ -81,0 +79,0 @@ if (this.props.onSubmit) {

{
"name": "auth0-lock",
"version": "11.28.1",
"version": "11.29.0",
"description": "Auth0 Lock",

@@ -5,0 +5,0 @@ "author": "Auth0 <support@auth0.com> (http://auth0.com)",

@@ -27,3 +27,3 @@ [![NPM version][npm-image]][npm-url]

<!-- Latest patch release (recommended for production) -->
<script src="https://cdn.auth0.com/js/lock/11.28.1/lock.min.js"></script>
<script src="https://cdn.auth0.com/js/lock/11.29.0/lock.min.js"></script>
```

@@ -165,2 +165,3 @@

- `sso login`: emitted when the user clicks on an enterprise SSO connection button. Has the lock ID, connection object, and field name as arguments.
- `ssodata fetched`: emitted when the SSOData endpoint was called, usually as a result of an internal `checkSession` call. Has the error and the SSOData object as arguments.

@@ -375,2 +376,56 @@ ### show(options)

#### Hooks
Lock supports hooks that can be used to integrate into various procedures within Lock.
| Name | Description |
|----|-----|
| `loggingIn` | Called when the user presses the login button; after validating the login form, but before calling the login endpoint |
| `signingUp` | Called when the user presses the button on the sign-up page; after validating the signup form, but before calling the sign up endpoint |
**API**
Both hooks accept two arguments:
| Name | Description |
|----|----|
| `context` | this argument is currently always `null` but serves as a future-proofing mechanism to support providing additional data without us requiring breaking changes to the library |
| `cb` | a callback function to call when the hook is finished. Execution of the user journey is blocked until this function is called by the hook |
**API**
Specify your hooks using a new `hooks` configuration item when setting up the library:
```js
new Auth0Lock('client ID', 'domain', {
hooks: {
loggingIn: function(context, cb) {
console.log('Hello from the login hook!');
cb();
},
signingUp: function(context, cb) {
console.log('Hello from the sign-up hook!');
cb();
}
});
```
**Error handling**
The developer can throw an error to block the login or sign-up process. The developer can either specify a specific object and show the error on the page, or throw a generic error which causes Lock to show a fallback error:
```js
new Auth0Lock('client ID', 'domain', {
hooks: {
loggingIn: function(context, cb) {
// Throw an object with code: `hook_error` to display this on the Login screen
throw { code: 'hook_error', description: 'There was an error in the login hook!' };
// Throw something generic to show a fallback error message
throw "Some error happened";
},
});
```
**Note:** The error's `description` field is not sanitized by the SDK and so any content that reflects user input or could otherwise display dangerous HTML should be sanitized by your hook.
#### Other options

@@ -429,3 +484,3 @@

ariaLabel: "Address",
icon: "https://example.com/assests/address_icon.png",
icon: "https://example.com/assets/address_icon.png",
prefill: "street 123",

@@ -482,3 +537,3 @@ validator: function(address) {

ariaLabel: "Location",
icon: "https://example.com/assests/location_icon.png",
icon: "https://example.com/assets/location_icon.png",
prefill: "us"

@@ -503,3 +558,3 @@ }]

ariaLabel: "Location",
icon: "https://example.com/assests/location_icon.png",
icon: "https://example.com/assets/location_icon.png",
prefill: function(cb) {

@@ -506,0 +561,0 @@ // obtain prefill, in case of error you call cb with the error in the

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc