auth0-lock 11.31.1 → 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/CHANGELOG.md +7 -0
- package/README.md +1 -1
- package/karma.conf.js +4 -10
- package/lib/__tests__/connection/database/login_pane.js +93 -0
- package/lib/__tests__/connection/enterprise/actions.js +8 -4
- 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 +4 -1
- package/lib/__tests__/ui/input/password_input.js +4 -1
- package/lib/connection/database/actions.js +3 -1
- package/lib/connection/database/login_pane.js +8 -1
- package/lib/connection/enterprise/actions.js +5 -5
- package/lib/core/web_api/helper.js +1 -1
- package/lib/engine/classic/sign_up_pane.js +6 -1
- package/lib/field/captcha/captcha_pane.js +0 -4
- package/lib/i18n.js +1 -1
- package/lib/lock.js +1 -1
- package/lib/passwordless.js +1 -1
- package/lib/ui/box/chrome.js +5 -1
- package/lib/ui/input/password_input.js +1 -0
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [v11.32.0](https://github.com/auth0/lock/tree/v11.32.0) (2022-01-07)
|
|
4
|
+
[Full Changelog](https://github.com/auth0/lock/compare/v11.31.1...v11.32.0)
|
|
5
|
+
|
|
6
|
+
**Fixed**
|
|
7
|
+
- [SDK-2970] Remove captcha for enterprise SSO connections [\#2071](https://github.com/auth0/lock/pull/2071) ([stevehobbsdev](https://github.com/stevehobbsdev))
|
|
8
|
+
- Add ID attributes to password field + submit button [\#2072](https://github.com/auth0/lock/pull/2072) ([stevehobbsdev](https://github.com/stevehobbsdev))
|
|
9
|
+
|
|
3
10
|
## [v11.31.1](https://github.com/auth0/lock/tree/v11.31.1) (2021-11-02)
|
|
4
11
|
|
|
5
12
|
[Full Changelog](https://github.com/auth0/lock/compare/v11.31.0...v11.31.1)
|
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ From CDN
|
|
|
25
25
|
|
|
26
26
|
```html
|
|
27
27
|
<!-- Latest patch release (recommended for production) -->
|
|
28
|
-
<script src="https://cdn.auth0.com/js/lock/11.
|
|
28
|
+
<script src="https://cdn.auth0.com/js/lock/11.32.0/lock.min.js"></script>
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
From [npm](https://npmjs.org)
|
package/karma.conf.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports = function(config) {
|
|
1
|
+
module.exports = function (config) {
|
|
2
2
|
process.env.CHROME_BIN = require('puppeteer').executablePath();
|
|
3
3
|
|
|
4
4
|
config.set({
|
|
@@ -52,9 +52,9 @@ module.exports = function(config) {
|
|
|
52
52
|
|
|
53
53
|
browserNoActivityTimeout: 60000,
|
|
54
54
|
|
|
55
|
-
browserDisconnectTimeout:
|
|
55
|
+
browserDisconnectTimeout: 30000,
|
|
56
56
|
|
|
57
|
-
browserDisconnectTolerance:
|
|
57
|
+
browserDisconnectTolerance: 10,
|
|
58
58
|
|
|
59
59
|
// level of logging
|
|
60
60
|
logLevel: config.LOG_INFO,
|
|
@@ -118,12 +118,6 @@ module.exports = function(config) {
|
|
|
118
118
|
}
|
|
119
119
|
},
|
|
120
120
|
|
|
121
|
-
browsers: [
|
|
122
|
-
'bs_chrome_windows',
|
|
123
|
-
'bs_firefox_windows',
|
|
124
|
-
'bs_safari',
|
|
125
|
-
'bs_ie11_windows',
|
|
126
|
-
'bs_edge_windows'
|
|
127
|
-
]
|
|
121
|
+
browsers: ['bs_chrome_windows']
|
|
128
122
|
});
|
|
129
123
|
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _react = require('react');
|
|
4
|
+
|
|
5
|
+
var _react2 = _interopRequireDefault(_react);
|
|
6
|
+
|
|
7
|
+
var _immutable = require('immutable');
|
|
8
|
+
|
|
9
|
+
var _immutable2 = _interopRequireDefault(_immutable);
|
|
10
|
+
|
|
11
|
+
var _testUtils = require('testUtils');
|
|
12
|
+
|
|
13
|
+
var _login_pane = require('../../../connection/database/login_pane');
|
|
14
|
+
|
|
15
|
+
var _login_pane2 = _interopRequireDefault(_login_pane);
|
|
16
|
+
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
+
|
|
19
|
+
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
|
|
20
|
+
|
|
21
|
+
var lock = _immutable2.default.fromJS({ id: '__lock-id__' });
|
|
22
|
+
|
|
23
|
+
jest.mock('core/index');
|
|
24
|
+
|
|
25
|
+
jest.mock('engine/classic');
|
|
26
|
+
jest.mock('connection/enterprise');
|
|
27
|
+
|
|
28
|
+
describe('LoginPane', function () {
|
|
29
|
+
var defaultProps = {
|
|
30
|
+
emailInputPlaceholder: '',
|
|
31
|
+
forgotPasswordAction: '',
|
|
32
|
+
i18n: {},
|
|
33
|
+
passwordInputPlaceholder: '',
|
|
34
|
+
showForgotPasswordLink: true,
|
|
35
|
+
showPassword: true,
|
|
36
|
+
usernameInputPlaceholder: '',
|
|
37
|
+
lock: lock
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
beforeEach(function () {
|
|
41
|
+
jest.resetAllMocks();
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('renders correctly', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
45
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
46
|
+
while (1) {
|
|
47
|
+
switch (_context.prev = _context.next) {
|
|
48
|
+
case 0:
|
|
49
|
+
(0, _testUtils.expectShallowComponent)(_react2.default.createElement(_login_pane2.default, defaultProps)).toMatchSnapshot();
|
|
50
|
+
|
|
51
|
+
case 1:
|
|
52
|
+
case 'end':
|
|
53
|
+
return _context.stop();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}, _callee, undefined);
|
|
57
|
+
})));
|
|
58
|
+
|
|
59
|
+
it('renders a captcha', function () {
|
|
60
|
+
require('core/index').captcha.mockReturnValue({
|
|
61
|
+
get: function get() {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
(0, _testUtils.expectShallowComponent)(_react2.default.createElement(_login_pane2.default, defaultProps)).toMatchSnapshot();
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it('hides the captcha for SSO connections', function () {
|
|
70
|
+
require('core/index').captcha.mockReturnValue({
|
|
71
|
+
get: function get() {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
require('engine/classic').isSSOEnabled.mockReturnValue(true);
|
|
77
|
+
|
|
78
|
+
(0, _testUtils.expectShallowComponent)(_react2.default.createElement(_login_pane2.default, defaultProps)).toMatchSnapshot();
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it('shows the captcha for SSO (ADFS) connections', function () {
|
|
82
|
+
require('core/index').captcha.mockReturnValue({
|
|
83
|
+
get: function get() {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
require('engine/classic').isSSOEnabled.mockReturnValue(true);
|
|
89
|
+
require('connection/enterprise').isHRDDomain.mockReturnValue(true);
|
|
90
|
+
|
|
91
|
+
(0, _testUtils.expectShallowComponent)(_react2.default.createElement(_login_pane2.default, defaultProps)).toMatchSnapshot();
|
|
92
|
+
});
|
|
93
|
+
});
|
|
@@ -20,7 +20,8 @@ jest.mock('connection/database/index', function () {
|
|
|
20
20
|
return {
|
|
21
21
|
databaseLogInWithEmail: jest.fn(function () {
|
|
22
22
|
return true;
|
|
23
|
-
})
|
|
23
|
+
}),
|
|
24
|
+
databaseUsernameValue: jest.fn()
|
|
24
25
|
};
|
|
25
26
|
});
|
|
26
27
|
|
|
@@ -39,7 +40,8 @@ jest.mock('connection/enterprise', function () {
|
|
|
39
40
|
return {
|
|
40
41
|
matchConnection: jest.fn(),
|
|
41
42
|
enterpriseActiveFlowConnection: jest.fn(),
|
|
42
|
-
isHRDActive: jest.fn()
|
|
43
|
+
isHRDActive: jest.fn(),
|
|
44
|
+
isEnterpriseDomain: jest.fn()
|
|
43
45
|
};
|
|
44
46
|
});
|
|
45
47
|
|
|
@@ -88,10 +90,12 @@ describe('Login with connection scopes', function () {
|
|
|
88
90
|
});
|
|
89
91
|
});
|
|
90
92
|
|
|
91
|
-
it('should throw an error if the captcha was not completed', function () {
|
|
93
|
+
it('should not throw an error if the captcha was not completed', function () {
|
|
92
94
|
lock = l.setup('__lock__', 'client', 'domain', {});
|
|
93
95
|
lock = (0, _index2.setField)(lock, 'email', 'test@test.com');
|
|
94
96
|
|
|
97
|
+
// This will be specified in the response from the /challenge endpoint if the
|
|
98
|
+
// dashboard settings have Captcha as 'required', regardless of connection being used.
|
|
95
99
|
lock = l.setCaptcha(lock, {
|
|
96
100
|
required: true,
|
|
97
101
|
provider: 'recaptcha_v2'
|
|
@@ -104,7 +108,7 @@ describe('Login with connection scopes', function () {
|
|
|
104
108
|
var coreActions = require('core/actions');
|
|
105
109
|
|
|
106
110
|
(0, _actions.logIn)('__lock__');
|
|
107
|
-
expect(coreActions.logIn).
|
|
111
|
+
expect(coreActions.logIn).toHaveBeenCalled();
|
|
108
112
|
});
|
|
109
113
|
});
|
|
110
114
|
|
|
@@ -6,10 +6,10 @@ var _react = require('react');
|
|
|
6
6
|
|
|
7
7
|
var _react2 = _interopRequireDefault(_react);
|
|
8
8
|
|
|
9
|
-
var _enzyme = require('enzyme');
|
|
10
|
-
|
|
11
9
|
var _testUtils = require('testUtils');
|
|
12
10
|
|
|
11
|
+
var _testUtils2 = require('../../testUtils');
|
|
12
|
+
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
14
|
|
|
15
15
|
jest.mock('field/email/email_pane', function () {
|
|
@@ -25,6 +25,24 @@ jest.mock('field/custom_input', function () {
|
|
|
25
25
|
return (0, _testUtils.mockComponent)('custom_input');
|
|
26
26
|
});
|
|
27
27
|
|
|
28
|
+
jest.mock('core/index', function () {
|
|
29
|
+
return {
|
|
30
|
+
captcha: jest.fn()
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
jest.mock('engine/classic', function () {
|
|
35
|
+
return {
|
|
36
|
+
isSSOEnabled: jest.fn()
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
jest.mock('connection/enterprise', function () {
|
|
41
|
+
return {
|
|
42
|
+
isHRDDomain: jest.fn()
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
|
|
28
46
|
var getComponent = function getComponent() {
|
|
29
47
|
return require('engine/classic/sign_up_pane').default;
|
|
30
48
|
};
|
|
@@ -46,6 +64,9 @@ describe('SignUpPane', function () {
|
|
|
46
64
|
},
|
|
47
65
|
signUpFieldsStrictValidation: function signUpFieldsStrictValidation() {
|
|
48
66
|
return true;
|
|
67
|
+
},
|
|
68
|
+
databaseUsernameValue: function databaseUsernameValue() {
|
|
69
|
+
return null;
|
|
49
70
|
}
|
|
50
71
|
};
|
|
51
72
|
});
|
|
@@ -85,6 +106,50 @@ describe('SignUpPane', function () {
|
|
|
85
106
|
|
|
86
107
|
(0, _testUtils.expectComponent)(_react2.default.createElement(Component, _extends({}, defaultProps, { instructions: 'instructions' }))).toMatchSnapshot();
|
|
87
108
|
});
|
|
109
|
+
|
|
110
|
+
it('shows the Captcha pane', function () {
|
|
111
|
+
require('core/index').captcha.mockReturnValue({
|
|
112
|
+
get: function get() {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
require('engine/classic').isSSOEnabled.mockReturnValue(false);
|
|
118
|
+
|
|
119
|
+
var Component = getComponent();
|
|
120
|
+
|
|
121
|
+
(0, _testUtils2.expectShallowComponent)(_react2.default.createElement(Component, defaultProps)).toMatchSnapshot();
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it('hides the Captcha pane for SSO connections', function () {
|
|
125
|
+
require('core/index').captcha.mockReturnValue({
|
|
126
|
+
get: function get() {
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
require('engine/classic').isSSOEnabled.mockReturnValue(true);
|
|
132
|
+
|
|
133
|
+
var Component = getComponent();
|
|
134
|
+
|
|
135
|
+
(0, _testUtils2.expectShallowComponent)(_react2.default.createElement(Component, defaultProps)).toMatchSnapshot();
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
it('shows the Captcha pane for SSO (ADFS) connections', function () {
|
|
139
|
+
require('core/index').captcha.mockReturnValue({
|
|
140
|
+
get: function get() {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
require('engine/classic').isSSOEnabled.mockReturnValue(true);
|
|
146
|
+
require('connection/enterprise').isHRDDomain.mockReturnValue(true);
|
|
147
|
+
|
|
148
|
+
var Component = getComponent();
|
|
149
|
+
|
|
150
|
+
(0, _testUtils2.expectShallowComponent)(_react2.default.createElement(Component, defaultProps)).toMatchSnapshot();
|
|
151
|
+
});
|
|
152
|
+
|
|
88
153
|
describe('onlyEmail is false', function () {
|
|
89
154
|
it('shows PasswordPane', function () {
|
|
90
155
|
var Component = getComponent();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.expectMockToMatch = exports.setURL = exports.extractPropsFromWrapper = exports.mockComponent = exports.expectComponent = undefined;
|
|
4
|
+
exports.expectMockToMatch = exports.setURL = exports.extractPropsFromWrapper = exports.mockComponent = exports.renderShallowComponent = exports.expectShallowComponent = exports.expectComponent = undefined;
|
|
5
5
|
|
|
6
6
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
7
7
|
|
|
@@ -13,6 +13,10 @@ var _reactTestRenderer = require('react-test-renderer');
|
|
|
13
13
|
|
|
14
14
|
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
|
|
15
15
|
|
|
16
|
+
var _shallow = require('react-test-renderer/shallow');
|
|
17
|
+
|
|
18
|
+
var _shallow2 = _interopRequireDefault(_shallow);
|
|
19
|
+
|
|
16
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
21
|
|
|
18
22
|
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } // eslint-disable-line
|
|
@@ -23,6 +27,18 @@ var expectComponent = exports.expectComponent = function expectComponent(childre
|
|
|
23
27
|
return expect(component);
|
|
24
28
|
};
|
|
25
29
|
|
|
30
|
+
var expectShallowComponent = exports.expectShallowComponent = function expectShallowComponent(children) {
|
|
31
|
+
var component = renderShallowComponent(children);
|
|
32
|
+
return expect(component);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var renderShallowComponent = exports.renderShallowComponent = function renderShallowComponent(children) {
|
|
36
|
+
var renderer = new _shallow2.default();
|
|
37
|
+
|
|
38
|
+
renderer.render(children);
|
|
39
|
+
return renderer.getRenderOutput();
|
|
40
|
+
};
|
|
41
|
+
|
|
26
42
|
var addDataToProps = function addDataToProps(props) {
|
|
27
43
|
var returnedProps = {};
|
|
28
44
|
Object.keys(props).forEach(function (k) {
|
|
@@ -51,6 +51,7 @@ function logIn(id) {
|
|
|
51
51
|
var m = (0, _index.read)(_index.getEntity, 'lock', id);
|
|
52
52
|
var usernameField = (0, _index4.databaseLogInWithEmail)(m) ? 'email' : 'username';
|
|
53
53
|
var username = c.getFieldValue(m, usernameField);
|
|
54
|
+
|
|
54
55
|
var params = {
|
|
55
56
|
connection: (0, _index4.databaseConnectionName)(m),
|
|
56
57
|
username: username,
|
|
@@ -58,13 +59,14 @@ function logIn(id) {
|
|
|
58
59
|
};
|
|
59
60
|
|
|
60
61
|
var fields = [usernameField, 'password'];
|
|
61
|
-
|
|
62
62
|
var isCaptchaValid = (0, _captcha.setCaptchaParams)(m, params, fields);
|
|
63
|
+
|
|
63
64
|
if (!isCaptchaValid) {
|
|
64
65
|
return (0, _captcha.showMissingCaptcha)(m, id);
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
var mfaCode = c.getFieldValue(m, 'mfa_code');
|
|
69
|
+
|
|
68
70
|
if (needsMFA) {
|
|
69
71
|
params['mfa_code'] = mfaCode;
|
|
70
72
|
fields.push('mfa_code');
|
|
@@ -36,6 +36,12 @@ var _captcha_pane = require('../../field/captcha/captcha_pane');
|
|
|
36
36
|
|
|
37
37
|
var _captcha_pane2 = _interopRequireDefault(_captcha_pane);
|
|
38
38
|
|
|
39
|
+
var _classic = require('../../engine/classic');
|
|
40
|
+
|
|
41
|
+
var _enterprise = require('../enterprise');
|
|
42
|
+
|
|
43
|
+
var _database = require('../database');
|
|
44
|
+
|
|
39
45
|
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
46
|
|
|
41
47
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -85,6 +91,7 @@ var LoginPane = function (_React$Component) {
|
|
|
85
91
|
headerText
|
|
86
92
|
);
|
|
87
93
|
var resolver = l.connectionResolver(lock);
|
|
94
|
+
var sso = (0, _classic.isSSOEnabled)(lock);
|
|
88
95
|
|
|
89
96
|
// Should never validate format on login because of custom db connection and import mode.
|
|
90
97
|
// If a custom resolver is in use, always use UsernamePane without validating format,
|
|
@@ -104,7 +111,7 @@ var LoginPane = function (_React$Component) {
|
|
|
104
111
|
strictValidation: false
|
|
105
112
|
});
|
|
106
113
|
|
|
107
|
-
var captchaPane = l.captcha(lock) && l.captcha(lock).get('required') ? _react2.default.createElement(_captcha_pane2.default, { i18n: i18n, lock: lock, onReload: function onReload() {
|
|
114
|
+
var captchaPane = l.captcha(lock) && l.captcha(lock).get('required') && ((0, _enterprise.isHRDDomain)(lock, (0, _database.databaseUsernameValue)(lock)) || !sso) ? _react2.default.createElement(_captcha_pane2.default, { i18n: i18n, lock: lock, onReload: function onReload() {
|
|
108
115
|
return (0, _captcha.swapCaptcha)(l.id(lock), false);
|
|
109
116
|
} }) : null;
|
|
110
117
|
|
|
@@ -66,16 +66,16 @@ function logIn(id) {
|
|
|
66
66
|
connection_scope: connectionScopes ? connectionScopes.toJS() : undefined
|
|
67
67
|
};
|
|
68
68
|
|
|
69
|
+
if (ssoConnection && !(0, _enterprise.isHRDActive)(m)) {
|
|
70
|
+
return logInSSO(id, ssoConnection, params);
|
|
71
|
+
}
|
|
72
|
+
|
|
69
73
|
var isCaptchaValid = (0, _captcha.setCaptchaParams)(m, params, fields);
|
|
70
74
|
|
|
71
|
-
if (!isCaptchaValid) {
|
|
75
|
+
if (!isCaptchaValid && !ssoConnection) {
|
|
72
76
|
return (0, _captcha.showMissingCaptcha)(m, id);
|
|
73
77
|
}
|
|
74
78
|
|
|
75
|
-
if (ssoConnection && !(0, _enterprise.isHRDActive)(m)) {
|
|
76
|
-
return logInSSO(id, ssoConnection, params);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
79
|
logInActiveFlow(id, params);
|
|
80
80
|
}
|
|
81
81
|
|
|
@@ -34,6 +34,10 @@ var l = _interopRequireWildcard(_index2);
|
|
|
34
34
|
|
|
35
35
|
var _captcha = require('../../connection/captcha');
|
|
36
36
|
|
|
37
|
+
var _enterprise = require('../../connection/enterprise');
|
|
38
|
+
|
|
39
|
+
var _classic = require('../classic');
|
|
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
|
|
|
39
43
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -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,7 +101,7 @@ 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() {
|
|
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() {
|
|
100
105
|
return (0, _captcha.swapCaptcha)(l.id(model), false);
|
|
101
106
|
} }) : null;
|
|
102
107
|
|
|
@@ -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
|
},
|
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
|
@@ -176,7 +176,10 @@ var SubmitButton = function (_React$Component) {
|
|
|
176
176
|
color = _props2.color,
|
|
177
177
|
disabled = _props2.disabled,
|
|
178
178
|
label = _props2.label,
|
|
179
|
-
display = _props2.display
|
|
179
|
+
display = _props2.display,
|
|
180
|
+
contentProps = _props2.contentProps;
|
|
181
|
+
var model = contentProps.model;
|
|
182
|
+
|
|
180
183
|
|
|
181
184
|
var content = label ? _react2.default.createElement(
|
|
182
185
|
'span',
|
|
@@ -188,6 +191,7 @@ var SubmitButton = function (_React$Component) {
|
|
|
188
191
|
return _react2.default.createElement(
|
|
189
192
|
'button',
|
|
190
193
|
{
|
|
194
|
+
id: l.id(model) + '-submit',
|
|
191
195
|
className: 'auth0-lock-submit',
|
|
192
196
|
disabled: disabled,
|
|
193
197
|
style: { backgroundColor: color, display: display },
|
|
@@ -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/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",
|
|
@@ -105,17 +105,17 @@
|
|
|
105
105
|
"webpack-dev-server": "^2.3.0"
|
|
106
106
|
},
|
|
107
107
|
"dependencies": {
|
|
108
|
-
"auth0-js": "^9.
|
|
108
|
+
"auth0-js": "^9.18.0",
|
|
109
109
|
"auth0-password-policies": "^1.0.2",
|
|
110
110
|
"blueimp-md5": "^2.19.0",
|
|
111
111
|
"classnames": "^2.3.1",
|
|
112
|
-
"dompurify": "^2.
|
|
112
|
+
"dompurify": "^2.3.4",
|
|
113
113
|
"immutable": "^3.7.3",
|
|
114
114
|
"jsonp": "^0.2.1",
|
|
115
|
-
"node-fetch": "^2.6.
|
|
115
|
+
"node-fetch": "^2.6.6",
|
|
116
116
|
"password-sheriff": "^1.1.1",
|
|
117
117
|
"prop-types": "^15.6.0",
|
|
118
|
-
"qs": "^6.
|
|
118
|
+
"qs": "^6.10.2",
|
|
119
119
|
"react": "^15.6.2",
|
|
120
120
|
"react-dom": "^15.6.2",
|
|
121
121
|
"react-transition-group": "^2.2.1",
|