Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

auth0-lock

Package Overview
Dependencies
Maintainers
50
Versions
339
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.30.4 to 11.30.5

.shiprc

16

DEVELOPMENT.md

@@ -6,3 +6,3 @@ ## Environment

- [Yarn](https://yarnpkg.com/)
- Node 10.x
- >= Node 10.18.1

@@ -24,3 +24,3 @@ ## Building

```
yarn test:jest
yarn test
```

@@ -31,5 +31,15 @@

```
yarn test:jest:watch
yarn test:watch
```
End-to-end tests can be executed locally using [Karma](https://karma-runner.github.io/), in both watch and CLI mode:
```
# CLI mode using Chrome Headless browser:
yarn test:e2e
# Watch mode using Chrome desktop browser, in watch mode:
yarn test:e2e:watch
```
## The SDK Playground

@@ -36,0 +46,0 @@

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

});
it('default redirectUrl should not include location.hash', function () {

@@ -74,2 +75,3 @@ (0, _testUtils.setURL)('https://test.com/path/#not-this-part');

});
it('default redirectUrl should work when `window.location.origin` is not available', function () {

@@ -86,2 +88,3 @@ (0, _testUtils.setURL)('https://test.com/path/#not-this-part', { noOrigin: true });

});
it('should work with redirect:false and responseType:id_token', function () {

@@ -94,2 +97,3 @@ var options = {

};
setup('id', 'clientID', 'domain', options, 'hookRunner', 'emitEventFn', 'handleEventFn');

@@ -103,2 +107,132 @@ var _mockInit3 = mockInit,

});
describe('clientBaseUrl', function () {
it('should default to the specified domain', function () {
var _mockInit4 = mockInit,
mock = _mockInit4.mock;
setup('id', 'clientID', 'my-tenant.us.auth0.com', {}, 'hookRunner', 'emitEventFn', 'handleEventFn');
expect(mock.calls.length).toBe(1);
var model = mock.calls[0][1].toJS();
expect(model.clientBaseUrl).toBe('https://my-tenant.us.auth0.com');
});
it('should use the clientBaseUrl option if given', function () {
var _mockInit5 = mockInit,
mock = _mockInit5.mock;
setup('id', 'clientID', 'my-tenant.us.auth0.com', {
clientBaseUrl: 'https://client-base-url.example.com',
configurationBaseUrl: 'https://config-base-url.example.com',
assetsUrl: 'https://assets-url.example.com'
}, 'hookRunner', 'emitEventFn', 'handleEventFn');
expect(mock.calls.length).toBe(1);
var model = mock.calls[0][1].toJS();
expect(model.clientBaseUrl).toBe('https://client-base-url.example.com');
});
it('should use configurationBaseUrl if given', function () {
var _mockInit6 = mockInit,
mock = _mockInit6.mock;
setup('id', 'clientID', 'my-tenant.us.auth0.com', {
configurationBaseUrl: 'https://config-base-url.example.com',
assetsUrl: 'https://assets-url.example.com'
}, 'hookRunner', 'emitEventFn', 'handleEventFn');
expect(mock.calls.length).toBe(1);
var model = mock.calls[0][1].toJS();
expect(model.clientBaseUrl).toBe('https://config-base-url.example.com');
});
it('should use assetsUrl if given', function () {
var _mockInit7 = mockInit,
mock = _mockInit7.mock;
setup('id', 'clientID', 'my-tenant.us.auth0.com', {
assetsUrl: 'https://assets-url.example.com'
}, 'hookRunner', 'emitEventFn', 'handleEventFn');
expect(mock.calls.length).toBe(1);
var model = mock.calls[0][1].toJS();
expect(model.clientBaseUrl).toBe('https://assets-url.example.com');
});
});
describe('tenantBaseUrl', function () {
it('should default to domain URL when using auth0.com', function () {
var _mockInit8 = mockInit,
mock = _mockInit8.mock;
setup('id', 'clientID', 'my-tenant.us.auth0.com', {
__useTenantInfo: true
}, 'hookRunner', 'emitEventFn', 'handleEventFn');
expect(mock.calls.length).toBe(1);
var model = mock.calls[0][1].toJS();
expect(model.tenantBaseUrl).toBe('https://my-tenant.us.auth0.com/tenants/v1/my-tenant.js');
});
it('should default to domain URL when using a custom domain', function () {
var _mockInit9 = mockInit,
mock = _mockInit9.mock;
setup('id', 'clientID', 'auth.my-tenant.com', {
__useTenantInfo: true
}, 'hookRunner', 'emitEventFn', 'handleEventFn');
expect(mock.calls.length).toBe(1);
var model = mock.calls[0][1].toJS();
expect(model.tenantBaseUrl).toBe('https://auth.my-tenant.com/info-v1.js');
});
it('should use configurationBaseUrl if specified', function () {
var _mockInit10 = mockInit,
mock = _mockInit10.mock;
setup('id', 'clientID', 'auth.my-tenant.com', {
__useTenantInfo: true,
configurationBaseUrl: 'https://config-base-url.com'
}, 'hookRunner', 'emitEventFn', 'handleEventFn');
expect(mock.calls.length).toBe(1);
var model = mock.calls[0][1].toJS();
expect(model.tenantBaseUrl).toBe('https://config-base-url.com/info-v1.js');
});
it('should use configurationBaseUrl with a custom tenant if specified', function () {
var _mockInit11 = mockInit,
mock = _mockInit11.mock;
setup('id', 'clientID', 'auth.my-tenant.com', {
__useTenantInfo: true,
configurationBaseUrl: 'https://config-base-url.com',
overrides: {
__tenant: 'custom-tenant'
}
}, 'hookRunner', 'emitEventFn', 'handleEventFn');
expect(mock.calls.length).toBe(1);
var model = mock.calls[0][1].toJS();
expect(model.tenantBaseUrl).toBe('https://config-base-url.com/tenants/v1/custom-tenant.js');
});
});
});

@@ -105,0 +239,0 @@

14

lib/__tests__/core/web_api.js

@@ -22,7 +22,7 @@ 'use strict';

beforeEach(function () {
originalWindow = global.window;
originalWindow = window.window;
});
afterEach(function () {
global.window = originalWindow;
window.window = originalWindow;
});

@@ -32,3 +32,3 @@

it('sets the correct options when is on the hosted login page', function () {
delete global.window.location;
delete window.location;
window.location = _extends({}, originalWindow.location, { host: DEFAULT_DOMAIN, search: '' });

@@ -47,3 +47,3 @@ _web_api2.default.setupClient(LOCK_ID, CLIENT_ID, DEFAULT_DOMAIN, { redirect: true });

it('sets redirect: true when on the same origin as the specified domain', function () {
delete global.window.location;
delete window.location;
window.location = _extends({}, originalWindow.location, { host: DEFAULT_DOMAIN, search: '' });

@@ -56,3 +56,3 @@

it('sets redirect: false when on a different origin as the specified domain', function () {
delete global.window.location;
delete window.location;
window.location = _extends({}, originalWindow.location, { host: 'test-other.com', search: '' });

@@ -65,3 +65,3 @@

it('forces popup and sso mode for cordova, only when not running in the hosted environment', function () {
delete global.window.location;
delete window.location;
window.location = _extends({}, originalWindow.location, { host: DEFAULT_DOMAIN, search: '' });

@@ -76,3 +76,3 @@ window.cordova = true;

it('forces popup and sso mode for electron, only when not running in the hosted environment', function () {
delete global.window.location;
delete window.location;
window.location = _extends({}, originalWindow.location, { host: DEFAULT_DOMAIN, search: '' });

@@ -79,0 +79,0 @@ window.electron = true;

@@ -47,4 +47,4 @@ 'use strict';

beforeAll(function () {
currentWindowObj = global.window;
global.window = {
currentWindowObj = window.window;
window.window = {
locaction: {

@@ -57,3 +57,3 @@ host: domainMock

afterAll(function () {
global.window = currentWindowObj;
window.window = currentWindowObj;
});

@@ -60,0 +60,0 @@

@@ -15,4 +15,4 @@ 'use strict';

//jest polyfills
global.requestAnimationFrame = function (callback) {
window.requestAnimationFrame = function (callback) {
setTimeout(callback, 0);
};

@@ -22,12 +22,12 @@ 'use strict';

if (typeof global.window.define == 'function' && global.window.define.amd) {
global.window.define('auth0Lock', function () {
if (typeof window.define == 'function' && window.define.amd) {
window.define('auth0Lock', function () {
return _index2.default;
});
global.window.define('auth0LockPasswordless', function () {
window.define('auth0LockPasswordless', function () {
return _passwordless2.default;
});
} else if (global.window) {
global.window.Auth0Lock = _index2.default;
global.window.Auth0LockPasswordless = _passwordless2.default;
} else if (window.window) {
window.Auth0Lock = _index2.default;
window.Auth0LockPasswordless = _passwordless2.default;
}

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

function assertMaybeArray(opts, name) {
var valid = opts[name] === undefined || global.Array.isArray(opts[name]);
var valid = opts[name] === undefined || window.Array.isArray(opts[name]);
if (!valid) l.warn(opts, 'The `' + name + '` option will be ignored, because it is not an array.');

@@ -212,3 +212,3 @@ return valid;

if (options != undefined && !global.Array.isArray(options) && typeof options != 'function' || type === 'select' && options === undefined) {
if (options != undefined && !window.Array.isArray(options) && typeof options != 'function' || type === 'select' && options === undefined) {
l.warn(opts, 'Ignoring an element of `additionalSignUpFields` (' + name + ') because it has a "select" `type` but does not specify an `options` property that is an Array or a function.');

@@ -215,0 +215,0 @@ filter = false;

@@ -70,10 +70,10 @@ 'use strict';

}).size > 0;
var urlWithoutHash = global.location.href.split('#')[0];
var urlWithoutHash = window.location.href.split('#')[0];
var callback = function callback(error, authResult) {
var parsed = !!(error || authResult);
if (parsed && !keepHash) {
global.history.replaceState(null, '', urlWithoutHash);
window.history.replaceState(null, '', urlWithoutHash);
}
};
resumeAuth(global.location.hash, callback);
resumeAuth(window.location.hash, callback);
}

@@ -80,0 +80,0 @@

@@ -505,12 +505,3 @@ 'use strict';

var domainUrl = 'https://' + domain;
var hostname = (0, _url_utils.getLocationFromUrl)(domainUrl).hostname;
var DOT_AUTH0_DOT_COM = '.auth0.com';
var AUTH0_US_CDN_URL = 'https://cdn.auth0.com';
if ((0, _string_utils.endsWith)(hostname, DOT_AUTH0_DOT_COM)) {
var parts = hostname.split('.');
return parts.length > 3 ? 'https://cdn.' + parts[parts.length - 3] + DOT_AUTH0_DOT_COM : AUTH0_US_CDN_URL;
} else {
return domainUrl;
}
return 'https://' + domain;
}

@@ -534,12 +525,10 @@

var DOT_AUTH0_DOT_COM = '.auth0.com';
var AUTH0_US_CDN_URL = 'https://cdn.auth0.com';
var parts = hostname.split('.');
var tenant_name = parts[0];
var domain;
// prettier-ignore
if ((0, _string_utils.endsWith)(hostname, DOT_AUTH0_DOT_COM)) {
domain = parts.length > 3 ? 'https://cdn.' + parts[parts.length - 3] + DOT_AUTH0_DOT_COM : AUTH0_US_CDN_URL;
// lgtm [js/incomplete-url-substring-sanitization]
var parts = hostname.split('.');
var tenant_name = parts[0];
return (0, _urlJoin2.default)(domain, 'tenants', 'v1', tenant_name + '.js');
return (0, _urlJoin2.default)(domainUrl, 'tenants', 'v1', tenant_name + '.js');
} else {

@@ -546,0 +535,0 @@ return (0, _urlJoin2.default)(domainUrl, 'info-v1.js');

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

function getVersion() {
return '11.30.4';
return '11.30.5';
}

@@ -20,4 +20,6 @@ 'use strict';

var _util = require('util');
var _format = require('./utils/format');
var _format2 = _interopRequireDefault(_format);
var _dompurify = require('dompurify');

@@ -54,3 +56,3 @@

return _util.format.apply(undefined, [get(m, ['strings'].concat(keyPath), '')].concat(args));
return _format2.default.apply(undefined, [get(m, ['strings'].concat(keyPath), '')].concat(args));
}

@@ -128,3 +130,3 @@

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

@@ -131,0 +133,0 @@ return str && str === language;

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

exports.default = Auth0Lock;
Auth0Lock.version = '11.30.4';
Auth0Lock.version = '11.30.5';

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

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

Auth0LockPasswordless.version = '11.30.4';
Auth0LockPasswordless.version = '11.30.5';

@@ -104,4 +104,4 @@ 'use strict';

// store.addWatch("keepHistory", (key, oldState, newState) => {
// if (!global.window.h) global.window.h = []; global.window.h.push(newState);
// if (!window.h) window.h = []; window.h.push(newState);
// console.debug("something changed", newState.toJS());
// });

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

var syncStatusKey = function syncStatusKey(key) {
return (global.Array.isArray(key) ? key : [key]).concat(['syncStatus']);
return (window.Array.isArray(key) ? key : [key]).concat(['syncStatus']);
};

@@ -46,0 +46,0 @@ var getStatus = function getStatus(m, key) {

@@ -32,9 +32,9 @@ 'use strict';

ContainerManager.prototype.ensure = function ensure(id, shouldAppend) {
var container = global.document.getElementById(id);
var container = window.document.getElementById(id);
if (!container && shouldAppend) {
container = global.document.createElement('div');
container = window.document.createElement('div');
container.id = id;
container.className = 'auth0-lock-container';
global.document.body.appendChild(container);
window.document.body.appendChild(container);
}

@@ -66,3 +66,3 @@

if (isModal && !this.modals[containerId]) {
_CSSCore2.default.addClass(global.document.getElementsByTagName('html')[0], 'auth0-lock-html');
_CSSCore2.default.addClass(window.document.getElementsByTagName('html')[0], 'auth0-lock-html');
}

@@ -105,3 +105,3 @@ // eslint-disable-next-line

_CSSCore2.default.removeClass(global.document.getElementsByTagName('html')[0], 'auth0-lock-html');
_CSSCore2.default.removeClass(window.document.getElementsByTagName('html')[0], 'auth0-lock-html');
}

@@ -108,0 +108,0 @@ };

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

if (!auxiliaryPane && nextProps.auxiliaryPane) {
this.auxiliaryPaneTriggerInput = global.document.activeElement;
this.auxiliaryPaneTriggerInput = window.document.activeElement;
this.setState({ moving: true });

@@ -252,0 +252,0 @@ }

@@ -105,7 +105,7 @@ 'use strict';

};
global.document.addEventListener('keydown', this.handler, false);
window.document.addEventListener('keydown', this.handler, false);
}
EscKeyDownHandler.prototype.release = function release() {
global.document.removeEventListener('keydown', this.handler);
window.document.removeEventListener('keydown', this.handler);
};

@@ -116,3 +116,3 @@

var IPHONE = global.navigator && !!global.navigator.userAgent.match(/iPhone/i);
var IPHONE = window.navigator && !!window.navigator.userAgent.match(/iPhone/i);

@@ -389,3 +389,3 @@ var Container = function (_React$Component) {

// NOTE: detecting the file protocol is important for things like electron.
var isFileProtocol = global.window && global.window.location && global.window.location.protocol === 'file:';
var isFileProtocol = window.window && window.location && window.location.protocol === 'file:';

@@ -392,0 +392,0 @@ var defaultProps = exports.defaultProps = Container.defaultProps = {

@@ -159,8 +159,8 @@ 'use strict';

// Check stolen from Modernizr, see https://github.com/Modernizr/Modernizr/blob/29eab707f7a2fb261c8a9c538370e97eb1f86e25/feature-detects/css/filters.js
var isEdge = global.navigator && !!global.navigator.userAgent.match(/Edge/i);
if (typeof global.document === 'undefined' || isEdge) return false;
var isEdge = window.navigator && !!window.navigator.userAgent.match(/Edge/i);
if (typeof window.document === 'undefined' || isEdge) return false;
var el = global.document.createElement('div');
var el = window.document.createElement('div');
el.style.cssText = 'filter: blur(2px); -webkit-filter: blur(2px)';
return !!el.style.length && (global.document.documentMode === undefined || global.document.documentMode > 9);
return !!el.style.length && (window.document.documentMode === undefined || window.document.documentMode > 9);
}();

@@ -167,0 +167,0 @@

@@ -19,5 +19,5 @@ 'use strict';

var _util = require('util');
var _format = require('../../../utils/format');
var _util2 = _interopRequireDefault(_util);
var _format2 = _interopRequireDefault(_format);

@@ -57,3 +57,3 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

o.message = _util2.default.format.apply(_util2.default, [o.message].concat(o.format || []));
o.message = _format2.default.apply(undefined, [o.message].concat(o.format || []));

@@ -60,0 +60,0 @@ if (o.items) {

@@ -13,4 +13,4 @@ 'use strict';

if (!global.Auth0) {
global.Auth0 = {};
if (!window.Auth0) {
window.Auth0 = {};
}

@@ -29,3 +29,3 @@

cbs[method] = [];
global.Auth0[method] = function () {
window.Auth0[method] = function () {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {

@@ -56,5 +56,5 @@ args[_key] = arguments[_key];

var script = global.document.createElement('script');
var script = window.document.createElement('script');
script.src = url;
global.document.getElementsByTagName('head')[0].appendChild(script);
window.document.getElementsByTagName('head')[0].appendChild(script);

@@ -92,3 +92,3 @@ var handleError = function handleError(err) {

global.Auth0[method] = cb;
window.Auth0[method] = cb;
}
{
"name": "auth0-lock",
"version": "11.30.4",
"version": "11.30.5",
"description": "Auth0 Lock",

@@ -30,11 +30,9 @@ "author": "Auth0 <support@auth0.com> (http://auth0.com)",

"lint": "eslint --ext .jsx,.js src/",
"test": "cross-env BABEL_ENV=test zuul -- test/**/*.test.js",
"test:browser": "cross-env BABEL_ENV=test zuul --local 8080 --disable-tunnel -- test/**/*.test.js",
"test:cli": "cross-env BABEL_ENV=test mochify --extension=.jsx --transform=babelify ./test/setup.js test/**/*.test.js",
"test:watch": "cross-env BABEL_ENV=test mochify --watch --extension=.jsx --transform=babelify ./test/setup.js test/**/*.test.js",
"test:jest": "jest --coverage --runInBand",
"test:jest:watch": "jest --watch --coverage",
"test:e2e": "cross-env BABEL_ENV=test karma start --browsers ChromeHeadless",
"test:e2e:watch": "cross-env BABEL_ENV=test karma start --browsers Chrome --single-run=false",
"test:e2e:browserstack": "cross-env BABEL_ENV=test karma start",
"test": "jest --coverage --runInBand",
"test:watch": "jest --watch --coverage",
"test:es-check": "es-check es5 'build/*.js'",
"publish:cdn": "ccu --trace",
"release": "scripts/release.sh",
"i18n:translate": "grunt dist && node scripts/complete-translations.js && npm run i18n:prettier && npm run build",

@@ -51,2 +49,3 @@ "i18n:prettier": "prettier --write --print-width 100 --single-quote src/i18n/*",

"babel-plugin-stylus-compiler": "^1.4.0",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-css-import-to-string": "0.0.2",

@@ -57,3 +56,4 @@ "babel-plugin-version-inline": "^1.0.0",

"babel-preset-stage-0": "^6.3.13",
"babelify": "^7.2.0",
"babelify": "^8.0.0",
"browserify": "^17.0.0",
"bump-version": "^0.5.0",

@@ -87,6 +87,14 @@ "chalk": "^3.0.0",

"jsonwebtoken": "^7.3.0",
"karma": "^6.3.4",
"karma-babel-preprocessor": "^7.0.0",
"karma-browserify": "^8.1.0",
"karma-browserstack-launcher": "^1.6.0",
"karma-chrome-launcher": "^3.1.0",
"karma-mocha": "^2.0.1",
"karma-mocha-reporter": "^2.2.5",
"lint-staged": "^4.2.3",
"mochify": "^6.3.0",
"mocha": "^8.4.0",
"node-es-module-loader": "^0.3.8",
"prettier": "^1.7.4",
"puppeteer": "^10.1.0",
"react-test-renderer": "^15.6.2",

@@ -102,17 +110,15 @@ "semver": "^6.2.0",

"unreleased": "^0.1.0",
"watchify": "^3.7.0",
"watchify": "^4.0.0",
"webpack": "^2.2.1",
"webpack-core": "^0.6.8",
"webpack-dev-server": "^2.3.0",
"zuul": "^3.12.0",
"zuul-ngrok": "4.0.0"
"webpack-dev-server": "^2.3.0"
},
"dependencies": {
"auth0-js": "^9.16.2",
"auth0-js": "^9.16.4",
"auth0-password-policies": "^1.0.2",
"blueimp-md5": "2.3.1",
"blueimp-md5": "^2.18.0",
"dompurify": "^2.2.8",
"immutable": "^3.7.3",
"jsonp": "^0.2.1",
"password-sheriff": "^1.1.0",
"password-sheriff": "^1.1.1",
"prop-types": "^15.6.0",

@@ -123,3 +129,3 @@ "qs": "^6.7.0",

"react-transition-group": "^2.2.1",
"trim": "1.0.0",
"trim": "^1.0.1",
"url-join": "^1.1.0",

@@ -129,3 +135,4 @@ "validator": "^13.6.0"

"resolutions": {
"node-fetch": "^2.6.1"
"node-fetch": "^2.6.1",
"crypto-js": "^4.1.1"
},

@@ -132,0 +139,0 @@ "ccu": {

@@ -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.30.4/lock.min.js"></script>
<script src="https://cdn.auth0.com/js/lock/11.30.5/lock.min.js"></script>
```

@@ -354,2 +354,3 @@

- **signUpHideUsernameField {Boolean}**: When set to `true` hides the _username_ input during sign up for a Database connection that has the `requires_username` flag set. Defaults to `false`.
- **signUpFieldsStrictValidation {Boolean}**: When set to `true`, the _email_ input on the sign-up page is validated using [`validator`](https://www.npmjs.com/package/validator). Otherwise, a very loose check is made on the format before being fully validate on the server. Defaults to `false`.

@@ -356,0 +357,0 @@ #### Enterprise options

Sorry, the diff of this file is not supported yet

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

Sorry, the diff of this file is not supported yet

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