auth0-lock 11.30.5 → 11.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.circleci/config.yml +11 -7
- package/.eslintrc.json +9 -2
- package/.prettierignore +1 -0
- package/.prettierrc.yaml +5 -0
- package/.shiprc +2 -1
- package/CHANGELOG.md +389 -210
- package/README.md +162 -140
- package/karma.conf.js +4 -10
- package/lib/__tests__/connection/database/login_pane.js +93 -0
- package/lib/__tests__/connection/database/reset_password.js +82 -4
- package/lib/__tests__/connection/enterprise/actions.js +25 -2
- package/lib/__tests__/engine/classic/login.js +0 -2
- package/lib/__tests__/engine/classic/sign_up_pane.js +67 -2
- package/lib/__tests__/testUtils.js +17 -1
- package/lib/__tests__/ui/box/chrome.js +18 -2
- package/lib/__tests__/ui/input/password_input.js +4 -1
- package/lib/browser.js +12 -10
- package/lib/connection/captcha.js +94 -0
- package/lib/connection/database/actions.js +11 -69
- package/lib/connection/database/login_pane.js +11 -2
- package/lib/connection/database/reset_password.js +15 -0
- package/lib/connection/enterprise/actions.js +10 -0
- package/lib/core/index.js +5 -1
- package/lib/core/web_api/helper.js +1 -1
- package/lib/core.js +1 -1
- package/lib/engine/classic/login.js +2 -2
- package/lib/engine/classic/sign_up_pane.js +8 -3
- package/lib/field/captcha/captcha_pane.js +0 -4
- package/lib/i18n.js +7 -5
- package/lib/lock.js +1 -1
- package/lib/passwordless.js +1 -1
- package/lib/ui/box/chrome.js +20 -5
- package/lib/ui/box/container.js +2 -2
- package/lib/ui/box/header.js +5 -0
- package/lib/ui/input/password_input.js +1 -0
- package/lib/utils/cdn_utils.js +1 -1
- package/package.json +20 -23
- package/local.log +0 -8
- package/yarn-error.log +0 -11514
|
@@ -66,7 +66,7 @@ function shouldRenderTabs(m) {
|
|
|
66
66
|
if (l.hasSomeConnections(m, 'social') && (0, _index.hasInitialScreen)(m, 'signUp')) return (0, _index.hasScreen)(m, 'signUp');
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
var
|
|
69
|
+
var LoginComponent = function LoginComponent(_ref) {
|
|
70
70
|
var i18n = _ref.i18n,
|
|
71
71
|
model = _ref.model;
|
|
72
72
|
|
|
@@ -182,7 +182,7 @@ var Login = function (_Screen) {
|
|
|
182
182
|
};
|
|
183
183
|
|
|
184
184
|
Login.prototype.render = function render() {
|
|
185
|
-
return
|
|
185
|
+
return LoginComponent;
|
|
186
186
|
};
|
|
187
187
|
|
|
188
188
|
return Login;
|
|
@@ -32,7 +32,11 @@ var _index2 = require('../../core/index');
|
|
|
32
32
|
|
|
33
33
|
var l = _interopRequireWildcard(_index2);
|
|
34
34
|
|
|
35
|
-
var
|
|
35
|
+
var _captcha = require('../../connection/captcha');
|
|
36
|
+
|
|
37
|
+
var _enterprise = require('../../connection/enterprise');
|
|
38
|
+
|
|
39
|
+
var _classic = require('../classic');
|
|
36
40
|
|
|
37
41
|
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; } }
|
|
38
42
|
|
|
@@ -71,6 +75,7 @@ var SignUpPane = function (_React$Component) {
|
|
|
71
75
|
null,
|
|
72
76
|
headerText
|
|
73
77
|
);
|
|
78
|
+
var sso = (0, _classic.isSSOEnabled)(model);
|
|
74
79
|
|
|
75
80
|
var usernamePane = !onlyEmail && (0, _index.databaseConnectionRequiresUsername)(model) && !(0, _index.signUpHideUsernameField)(model) ? _react2.default.createElement(_username_pane2.default, {
|
|
76
81
|
i18n: i18n,
|
|
@@ -96,8 +101,8 @@ var SignUpPane = function (_React$Component) {
|
|
|
96
101
|
});
|
|
97
102
|
});
|
|
98
103
|
|
|
99
|
-
var captchaPane = l.captcha(model) && l.captcha(model).get('required') ? _react2.default.createElement(_captcha_pane2.default, { i18n: i18n, lock: model, onReload: function onReload() {
|
|
100
|
-
return (0,
|
|
104
|
+
var captchaPane = l.captcha(model) && l.captcha(model).get('required') && ((0, _enterprise.isHRDDomain)(model, (0, _index.databaseUsernameValue)(model)) || !sso) ? _react2.default.createElement(_captcha_pane2.default, { i18n: i18n, lock: model, onReload: function onReload() {
|
|
105
|
+
return (0, _captcha.swapCaptcha)(l.id(model), false);
|
|
101
106
|
} }) : null;
|
|
102
107
|
|
|
103
108
|
var passwordPane = !onlyEmail && _react2.default.createElement(_password_pane2.default, {
|
|
@@ -53,14 +53,10 @@ var CaptchaPane = function (_React$Component) {
|
|
|
53
53
|
lock = _props.lock,
|
|
54
54
|
onReload = _props.onReload;
|
|
55
55
|
|
|
56
|
-
|
|
57
56
|
var lockId = l.id(lock);
|
|
58
|
-
|
|
59
57
|
var captcha = l.captcha(lock);
|
|
60
|
-
|
|
61
58
|
var value = (0, _index3.getFieldValue)(lock, 'captcha');
|
|
62
59
|
var isValid = !(0, _index3.isFieldVisiblyInvalid)(lock, 'captcha');
|
|
63
|
-
|
|
64
60
|
var provider = captcha.get('provider');
|
|
65
61
|
|
|
66
62
|
if ((0, _recaptcha.isRecaptcha)(provider)) {
|
package/lib/i18n.js
CHANGED
|
@@ -125,7 +125,7 @@ function assertLanguage(m, language, base) {
|
|
|
125
125
|
function syncLang(m, language, _cb) {
|
|
126
126
|
(0, _cdn_utils.load)({
|
|
127
127
|
method: 'registerLanguageDictionary',
|
|
128
|
-
url: l.languageBaseUrl(m) + '/js/lock/' + '11.
|
|
128
|
+
url: l.languageBaseUrl(m) + '/js/lock/' + '11.32.0' + '/' + language + '.js',
|
|
129
129
|
check: function check(str) {
|
|
130
130
|
return str && str === language;
|
|
131
131
|
},
|
|
@@ -141,7 +141,9 @@ function registerLanguageDictionary(language, dictionary) {
|
|
|
141
141
|
languageDictionaries[language] = _immutable2.default.fromJS(dictionary);
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
(
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
144
|
+
if (typeof window !== 'undefined') {
|
|
145
|
+
(0, _cdn_utils.preload)({
|
|
146
|
+
method: 'registerLanguageDictionary',
|
|
147
|
+
cb: registerLanguageDictionary
|
|
148
|
+
});
|
|
149
|
+
}
|
package/lib/lock.js
CHANGED
|
@@ -42,7 +42,7 @@ var Auth0Lock = function (_Core) {
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
exports.default = Auth0Lock;
|
|
45
|
-
Auth0Lock.version = '11.
|
|
45
|
+
Auth0Lock.version = '11.32.0';
|
|
46
46
|
|
|
47
47
|
// TODO: should we have different telemetry for classic/passwordless?
|
|
48
48
|
// TODO: should we set telemetry info before each request?
|
package/lib/passwordless.js
CHANGED
package/lib/ui/box/chrome.js
CHANGED
|
@@ -36,6 +36,10 @@ var _header = require('./header');
|
|
|
36
36
|
|
|
37
37
|
var _header2 = _interopRequireDefault(_header);
|
|
38
38
|
|
|
39
|
+
var _classnames = require('classnames');
|
|
40
|
+
|
|
41
|
+
var _classnames2 = _interopRequireDefault(_classnames);
|
|
42
|
+
|
|
39
43
|
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; } }
|
|
40
44
|
|
|
41
45
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -172,7 +176,10 @@ var SubmitButton = function (_React$Component) {
|
|
|
172
176
|
color = _props2.color,
|
|
173
177
|
disabled = _props2.disabled,
|
|
174
178
|
label = _props2.label,
|
|
175
|
-
display = _props2.display
|
|
179
|
+
display = _props2.display,
|
|
180
|
+
contentProps = _props2.contentProps;
|
|
181
|
+
var model = contentProps.model;
|
|
182
|
+
|
|
176
183
|
|
|
177
184
|
var content = label ? _react2.default.createElement(
|
|
178
185
|
'span',
|
|
@@ -184,6 +191,7 @@ var SubmitButton = function (_React$Component) {
|
|
|
184
191
|
return _react2.default.createElement(
|
|
185
192
|
'button',
|
|
186
193
|
{
|
|
194
|
+
id: l.id(model) + '-submit',
|
|
187
195
|
className: 'auth0-lock-submit',
|
|
188
196
|
disabled: disabled,
|
|
189
197
|
style: { backgroundColor: color, display: display },
|
|
@@ -374,6 +382,7 @@ var Chrome = function (_React$Component2) {
|
|
|
374
382
|
title = _props5.title,
|
|
375
383
|
classNames = _props5.classNames,
|
|
376
384
|
scrollGlobalMessagesIntoView = _props5.scrollGlobalMessagesIntoView;
|
|
385
|
+
var model = contentProps.model;
|
|
377
386
|
var _state = this.state,
|
|
378
387
|
delayingShowSubmitButton = _state.delayingShowSubmitButton,
|
|
379
388
|
moving = _state.moving,
|
|
@@ -418,17 +427,23 @@ var Chrome = function (_React$Component2) {
|
|
|
418
427
|
}) : null;
|
|
419
428
|
|
|
420
429
|
var Content = contentComponent;
|
|
421
|
-
|
|
422
|
-
var className = 'auth0-lock-cred-pane';
|
|
423
430
|
var isQuiet = !moving && !delayingShowSubmitButton;
|
|
424
|
-
|
|
431
|
+
|
|
432
|
+
var className = (0, _classnames2.default)('auth0-lock-cred-pane', {
|
|
433
|
+
'auth0-lock-quiet': isQuiet,
|
|
434
|
+
'auth0-lock-moving': !isQuiet
|
|
435
|
+
});
|
|
436
|
+
|
|
437
|
+
var internalWrapperClass = (0, _classnames2.default)('auth0-lock-cred-pane-internal-wrapper', {
|
|
438
|
+
'auto-height': l.ui.forceAutoHeight(model)
|
|
439
|
+
});
|
|
425
440
|
|
|
426
441
|
return _react2.default.createElement(
|
|
427
442
|
'div',
|
|
428
443
|
{ className: className },
|
|
429
444
|
_react2.default.createElement(
|
|
430
445
|
'div',
|
|
431
|
-
{ className:
|
|
446
|
+
{ className: internalWrapperClass },
|
|
432
447
|
_react2.default.createElement(
|
|
433
448
|
'div',
|
|
434
449
|
{ className: 'auth0-lock-content-wrapper' },
|
package/lib/ui/box/container.js
CHANGED
|
@@ -112,7 +112,7 @@ var EscKeyDownHandler = function () {
|
|
|
112
112
|
return EscKeyDownHandler;
|
|
113
113
|
}();
|
|
114
114
|
|
|
115
|
-
var IPHONE = window.navigator && !!window.navigator.userAgent.match(/iPhone/i);
|
|
115
|
+
var IPHONE = typeof window !== 'undefined' && window.navigator && !!window.navigator.userAgent.match(/iPhone/i);
|
|
116
116
|
|
|
117
117
|
var Container = function (_React$Component) {
|
|
118
118
|
_inherits(Container, _React$Component);
|
|
@@ -384,7 +384,7 @@ Container.propTypes = {
|
|
|
384
384
|
};
|
|
385
385
|
|
|
386
386
|
// NOTE: detecting the file protocol is important for things like electron.
|
|
387
|
-
var isFileProtocol = window.window && window.location && window.location.protocol === 'file:';
|
|
387
|
+
var isFileProtocol = typeof window !== 'undefined' && window.window && window.location && window.location.protocol === 'file:';
|
|
388
388
|
|
|
389
389
|
var defaultProps = exports.defaultProps = Container.defaultProps = {
|
|
390
390
|
autofocus: false,
|
package/lib/ui/box/header.js
CHANGED
|
@@ -155,12 +155,17 @@ WelcomeMessage.propTypes = {
|
|
|
155
155
|
};
|
|
156
156
|
|
|
157
157
|
var cssBlurSupport = function () {
|
|
158
|
+
if (typeof window === 'undefined') {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
|
|
158
162
|
// Check stolen from Modernizr, see https://github.com/Modernizr/Modernizr/blob/29eab707f7a2fb261c8a9c538370e97eb1f86e25/feature-detects/css/filters.js
|
|
159
163
|
var isEdge = window.navigator && !!window.navigator.userAgent.match(/Edge/i);
|
|
160
164
|
if (typeof window.document === 'undefined' || isEdge) return false;
|
|
161
165
|
|
|
162
166
|
var el = window.document.createElement('div');
|
|
163
167
|
el.style.cssText = 'filter: blur(2px); -webkit-filter: blur(2px)';
|
|
168
|
+
|
|
164
169
|
return !!el.style.length && (window.document.documentMode === undefined || window.document.documentMode > 9);
|
|
165
170
|
}();
|
|
166
171
|
|
|
@@ -116,6 +116,7 @@ var PasswordInput = function (_React$Component) {
|
|
|
116
116
|
_react2.default.createElement('input', _extends({
|
|
117
117
|
ref: 'input',
|
|
118
118
|
type: showPassword ? 'text' : 'password',
|
|
119
|
+
id: l.id(lock) + '-password',
|
|
119
120
|
name: 'password',
|
|
120
121
|
className: 'auth0-lock-input',
|
|
121
122
|
autoComplete: allowPasswordAutocomplete ? 'on' : 'off',
|
package/lib/utils/cdn_utils.js
CHANGED
|
@@ -10,7 +10,7 @@ var _auth0Js2 = _interopRequireDefault(_auth0Js);
|
|
|
10
10
|
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
|
|
13
|
-
if (!window.Auth0) {
|
|
13
|
+
if (typeof window !== 'undefined' && !window.Auth0) {
|
|
14
14
|
window.Auth0 = {};
|
|
15
15
|
}
|
|
16
16
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "auth0-lock",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.32.0",
|
|
4
4
|
"description": "Auth0 Lock",
|
|
5
5
|
"author": "Auth0 <support@auth0.com> (http://auth0.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"dev": "grunt dev",
|
|
26
26
|
"dist": "grunt dist",
|
|
27
27
|
"prepublish": "cross-env BABEL_ENV=npm grunt dist",
|
|
28
|
-
"precommit": "lint-staged",
|
|
28
|
+
"precommit": "yarn lint-staged",
|
|
29
29
|
"lint": "eslint --ext .jsx,.js src/",
|
|
30
30
|
"test:e2e": "cross-env BABEL_ENV=test karma start --browsers ChromeHeadless",
|
|
31
31
|
"test:e2e:watch": "cross-env BABEL_ENV=test karma start --browsers Chrome --single-run=false",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"test:es-check": "es-check es5 'build/*.js'",
|
|
36
36
|
"publish:cdn": "ccu --trace",
|
|
37
37
|
"i18n:translate": "grunt dist && node scripts/complete-translations.js && npm run i18n:prettier && npm run build",
|
|
38
|
-
"i18n:prettier": "prettier --write
|
|
38
|
+
"i18n:prettier": "prettier --write src/i18n/*",
|
|
39
39
|
"i18n:validate": "node -r esm scripts/lang-audit.js"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
@@ -54,20 +54,19 @@
|
|
|
54
54
|
"babelify": "^8.0.0",
|
|
55
55
|
"browserify": "^17.0.0",
|
|
56
56
|
"bump-version": "^0.5.0",
|
|
57
|
-
"chalk": "^
|
|
58
|
-
"cross-env": "^
|
|
57
|
+
"chalk": "^4.1.2",
|
|
58
|
+
"cross-env": "^7.0.3",
|
|
59
59
|
"css-loader": "^0.26.1",
|
|
60
|
-
"dotenv": "^8.0.0",
|
|
61
60
|
"emojic": "^1.1.15",
|
|
62
61
|
"enzyme": "^3.1.0",
|
|
63
62
|
"enzyme-adapter-react-15": "^1.0.1",
|
|
64
|
-
"es-check": "^
|
|
65
|
-
"eslint": "^
|
|
66
|
-
"eslint-config-prettier": "^
|
|
63
|
+
"es-check": "^6.0.0",
|
|
64
|
+
"eslint": "^7.32.0",
|
|
65
|
+
"eslint-config-prettier": "^8.3.0",
|
|
67
66
|
"eslint-plugin-react": "^7.4.0",
|
|
68
67
|
"esm": "^3.2.25",
|
|
69
68
|
"expect.js": "^0.3.1",
|
|
70
|
-
"flat": "^
|
|
69
|
+
"flat": "^5.0.2",
|
|
71
70
|
"glob": "^7.1.6",
|
|
72
71
|
"grunt": "^1.3.0",
|
|
73
72
|
"grunt-babel": "^6.0.0",
|
|
@@ -77,10 +76,9 @@
|
|
|
77
76
|
"grunt-env": "^0.4.4",
|
|
78
77
|
"grunt-exec": "^0.4.6",
|
|
79
78
|
"grunt-webpack": "^2.0.1",
|
|
80
|
-
"husky": "^0.
|
|
79
|
+
"husky": "^7.0.2",
|
|
81
80
|
"jest": "^21.2.1",
|
|
82
81
|
"json-beautify": "^1.0.1",
|
|
83
|
-
"jsonwebtoken": "^7.3.0",
|
|
84
82
|
"karma": "^6.3.4",
|
|
85
83
|
"karma-babel-preprocessor": "^7.0.0",
|
|
86
84
|
"karma-browserify": "^8.1.0",
|
|
@@ -88,17 +86,15 @@
|
|
|
88
86
|
"karma-chrome-launcher": "^3.1.0",
|
|
89
87
|
"karma-mocha": "^2.0.1",
|
|
90
88
|
"karma-mocha-reporter": "^2.2.5",
|
|
91
|
-
"lint-staged": "^
|
|
92
|
-
"mocha": "^
|
|
89
|
+
"lint-staged": "^11.1.2",
|
|
90
|
+
"mocha": "^9.1.1",
|
|
93
91
|
"node-es-module-loader": "^0.3.8",
|
|
94
|
-
"prettier": "^
|
|
92
|
+
"prettier": "^2.4.1",
|
|
95
93
|
"puppeteer": "^10.1.0",
|
|
96
94
|
"react-test-renderer": "^15.6.2",
|
|
97
|
-
"semver": "^6.2.0",
|
|
98
95
|
"sinon": "^1.15.4",
|
|
99
96
|
"stylus": "^0.54.5",
|
|
100
97
|
"stylus-loader": "^2.3.1",
|
|
101
|
-
"superagent": "^5.2.2",
|
|
102
98
|
"tmp": "^0.1.0",
|
|
103
99
|
"uglify-js": "^2.7.4",
|
|
104
100
|
"unminified-webpack-plugin": "^1.1.1",
|
|
@@ -109,15 +105,17 @@
|
|
|
109
105
|
"webpack-dev-server": "^2.3.0"
|
|
110
106
|
},
|
|
111
107
|
"dependencies": {
|
|
112
|
-
"auth0-js": "^9.
|
|
108
|
+
"auth0-js": "^9.18.0",
|
|
113
109
|
"auth0-password-policies": "^1.0.2",
|
|
114
|
-
"blueimp-md5": "^2.
|
|
115
|
-
"
|
|
110
|
+
"blueimp-md5": "^2.19.0",
|
|
111
|
+
"classnames": "^2.3.1",
|
|
112
|
+
"dompurify": "^2.3.4",
|
|
116
113
|
"immutable": "^3.7.3",
|
|
117
114
|
"jsonp": "^0.2.1",
|
|
115
|
+
"node-fetch": "^2.6.6",
|
|
118
116
|
"password-sheriff": "^1.1.1",
|
|
119
117
|
"prop-types": "^15.6.0",
|
|
120
|
-
"qs": "^6.
|
|
118
|
+
"qs": "^6.10.2",
|
|
121
119
|
"react": "^15.6.2",
|
|
122
120
|
"react-dom": "^15.6.2",
|
|
123
121
|
"react-transition-group": "^2.2.1",
|
|
@@ -176,8 +174,7 @@
|
|
|
176
174
|
"npm run lint"
|
|
177
175
|
],
|
|
178
176
|
"*.{js,jsx,json}": [
|
|
179
|
-
"prettier --write
|
|
180
|
-
"git add"
|
|
177
|
+
"prettier --write"
|
|
181
178
|
]
|
|
182
179
|
}
|
|
183
180
|
}
|
package/local.log
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Fri Aug 06 2021 14:51:43 GMT+0100 (British Summer Time) -- [WARNING] Detected instance of BrowserStackLocal Application, running in onlyAutomate mode to avoid port clash
|
|
4
|
-
Fri Aug 06 2021 14:51:44 GMT+0100 (British Summer Time) -- [SUCCESS] You can now access your local server(s) in our remote browser
|
|
5
|
-
|
|
6
|
-
Fri Aug 06 2021 14:51:45 GMT+0100 (British Summer Time) -- Press Ctrl-C to exit
|
|
7
|
-
|
|
8
|
-
|