auth0-lock 12.5.0 → 13.0.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/.github/CODEOWNERS +1 -1
- package/.github/workflows/semgrep.yml +1 -10
- package/.github/workflows/snyk.yml +1 -10
- package/.version +1 -1
- package/CHANGELOG.md +38 -0
- package/README.md +2 -1
- package/lib/__tests__/connection/database/actions.js +102 -1
- package/lib/__tests__/engine/classic/sign_up_pane.js +6 -4
- package/lib/__tests__/field/captcha/third_party_captcha.js +10 -1
- package/lib/connection/captcha.js +13 -1
- package/lib/connection/database/actions.js +41 -12
- package/lib/connection/passwordless/index.js +10 -1
- package/lib/core/index.js +9 -0
- package/lib/core/remote_data.js +0 -16
- package/lib/core/web_api/helper.js +1 -1
- package/lib/core/web_api/p2_api.js +8 -2
- package/lib/core/web_api.js +5 -0
- package/lib/engine/classic/sign_up_pane.js +3 -2
- package/lib/field/captcha/third_party_captcha.js +12 -0
- package/lib/i18n.js +1 -1
- package/lib/lock.js +1 -1
- package/lib/passwordless.js +1 -1
- package/package.json +5 -5
package/.github/CODEOWNERS
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
* @auth0/dx-sdks-engineer
|
|
1
|
+
* @auth0/project-dx-sdks-engineer-codeowner
|
|
@@ -2,7 +2,7 @@ name: Semgrep
|
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
merge_group:
|
|
5
|
-
|
|
5
|
+
pull_request:
|
|
6
6
|
types:
|
|
7
7
|
- opened
|
|
8
8
|
- synchronize
|
|
@@ -20,16 +20,7 @@ concurrency:
|
|
|
20
20
|
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
|
|
21
21
|
|
|
22
22
|
jobs:
|
|
23
|
-
authorize:
|
|
24
|
-
name: Authorize
|
|
25
|
-
environment: ${{ github.actor != 'dependabot[bot]' && github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository && 'external' || 'internal' }}
|
|
26
|
-
runs-on: ubuntu-latest
|
|
27
|
-
steps:
|
|
28
|
-
- run: true
|
|
29
|
-
|
|
30
23
|
run:
|
|
31
|
-
needs: authorize # Require approval before running on forked pull requests
|
|
32
|
-
|
|
33
24
|
name: Check for Vulnerabilities
|
|
34
25
|
runs-on: ubuntu-latest
|
|
35
26
|
|
|
@@ -3,7 +3,7 @@ name: Snyk
|
|
|
3
3
|
on:
|
|
4
4
|
merge_group:
|
|
5
5
|
workflow_dispatch:
|
|
6
|
-
|
|
6
|
+
pull_request:
|
|
7
7
|
types:
|
|
8
8
|
- opened
|
|
9
9
|
- synchronize
|
|
@@ -21,16 +21,7 @@ concurrency:
|
|
|
21
21
|
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
|
|
22
22
|
|
|
23
23
|
jobs:
|
|
24
|
-
authorize:
|
|
25
|
-
name: Authorize
|
|
26
|
-
environment: ${{ github.actor != 'dependabot[bot]' && github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository && 'external' || 'internal' }}
|
|
27
|
-
runs-on: ubuntu-latest
|
|
28
|
-
steps:
|
|
29
|
-
- run: true
|
|
30
|
-
|
|
31
24
|
check:
|
|
32
|
-
needs: authorize
|
|
33
|
-
|
|
34
25
|
name: Check for Vulnerabilities
|
|
35
26
|
runs-on: ubuntu-latest
|
|
36
27
|
|
package/.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
v13.0.0
|
package/CHANGELOG.md
CHANGED
|
@@ -1,59 +1,96 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [v13.0.0](https://github.com/auth0/lock/tree/v13.0.0) (2024-11-11)
|
|
4
|
+
[Full Changelog](https://github.com/auth0/lock/compare/v12.5.1...v13.0.0)
|
|
5
|
+
|
|
6
|
+
**Added**
|
|
7
|
+
- [IAMRISK-3539] Use signup classic endpoint for captcha [\#2587](https://github.com/auth0/lock/pull/2587) ([TSLarson](https://github.com/TSLarson))
|
|
8
|
+
|
|
9
|
+
**Fixed**
|
|
10
|
+
- [IAMRISK-3554] hcaptcha bug fix [\#2566](https://github.com/auth0/lock/pull/2566) ([Treterten](https://github.com/Treterten))
|
|
11
|
+
|
|
12
|
+
**Security**
|
|
13
|
+
- ci: changed the trigger from pull_request_target to pull_request for better security [\#2584](https://github.com/auth0/lock/pull/2584) ([nandan-bhat](https://github.com/nandan-bhat))
|
|
14
|
+
- Update codeowner file with new GitHub team name [\#2572](https://github.com/auth0/lock/pull/2572) ([stevenwong-okta](https://github.com/stevenwong-okta))
|
|
15
|
+
|
|
16
|
+
## [v12.5.1](https://github.com/auth0/lock/tree/v12.5.1) (2024-05-30)
|
|
17
|
+
|
|
18
|
+
[Full Changelog](https://github.com/auth0/lock/compare/v12.5.0...v12.5.1)
|
|
19
|
+
|
|
20
|
+
- Swap CAPTCHA on each reload [\#2560](https://github.com/auth0/lock/pull/2560) ([josh-cain](https://github.com/josh-cain))
|
|
21
|
+
|
|
3
22
|
## [v12.5.0](https://github.com/auth0/lock/tree/v12.5.0) (2024-04-30)
|
|
23
|
+
|
|
4
24
|
[Full Changelog](https://github.com/auth0/lock/compare/v12.4.0...v12.5.0)
|
|
5
25
|
|
|
6
26
|
- Support captchas in reset password flow [\#2547](https://github.com/auth0/lock/pull/2547) ([srijonsaha](https://github.com/srijonsaha))
|
|
7
27
|
|
|
8
28
|
## [v12.4.0](https://github.com/auth0/lock/tree/v12.4.0) (2024-01-04)
|
|
29
|
+
|
|
9
30
|
[Full Changelog](https://github.com/auth0/lock/compare/v12.3.1...v12.4.0)
|
|
10
31
|
|
|
11
32
|
**Added**
|
|
33
|
+
|
|
12
34
|
- [IAMRISK-2916] Added support for Auth0 v2 captcha provider [\#2503](https://github.com/auth0/lock/pull/2503) ([alexkoumarianos-okta](https://github.com/alexkoumarianos-okta))
|
|
13
35
|
|
|
14
36
|
**Changed**
|
|
37
|
+
|
|
15
38
|
- [IAMRISK-3010] Added support for auth0_v2 captcha failOpen [\#2507](https://github.com/auth0/lock/pull/2507) ([alexkoumarianos-okta](https://github.com/alexkoumarianos-okta))
|
|
16
39
|
|
|
17
40
|
## [v12.3.1](https://github.com/auth0/lock/tree/v12.3.1) (2023-11-13)
|
|
41
|
+
|
|
18
42
|
[Full Changelog](https://github.com/auth0/lock/compare/v12.3.0...v12.3.1)
|
|
19
43
|
|
|
20
44
|
**Security**
|
|
45
|
+
|
|
21
46
|
- Bump auth0-js to solve crypto-js vulnerability [\#2492](https://github.com/auth0/lock/pull/2492) ([frederikprijck](https://github.com/frederikprijck))
|
|
22
47
|
|
|
23
48
|
## [v12.3.0](https://github.com/auth0/lock/tree/v12.3.0) (2023-10-06)
|
|
49
|
+
|
|
24
50
|
[Full Changelog](https://github.com/auth0/lock/compare/v12.2.0...v12.3.0)
|
|
25
51
|
|
|
26
52
|
**Added**
|
|
53
|
+
|
|
27
54
|
- [IAMRISK-2603] Add support for Arkose [\#2455](https://github.com/auth0/lock/pull/2455) ([srijonsaha](https://github.com/srijonsaha))
|
|
28
55
|
|
|
29
56
|
## [v12.2.0](https://github.com/auth0/lock/tree/v12.2.0) (2023-09-15)
|
|
57
|
+
|
|
30
58
|
[Full Changelog](https://github.com/auth0/lock/compare/v12.1.0...v12.2.0)
|
|
31
59
|
|
|
32
60
|
**Added**
|
|
61
|
+
|
|
33
62
|
- Wrap CheckBoxInput in InputWrapper to provide visual feedback [\#2423](https://github.com/auth0/lock/pull/2423) ([ewanharris](https://github.com/ewanharris))
|
|
34
63
|
|
|
35
64
|
## [v12.1.0](https://github.com/auth0/lock/tree/v12.1.0) (2023-07-17)
|
|
65
|
+
|
|
36
66
|
[Full Changelog](https://github.com/auth0/lock/compare/v12.0.2...v12.1.0)
|
|
37
67
|
|
|
38
68
|
**Added**
|
|
69
|
+
|
|
39
70
|
- Added support for hCaptcha and Friendly Captcha [\#2387](https://github.com/auth0/lock/pull/2387) ([DominickBattistini](https://github.com/DominickBattistini))
|
|
40
71
|
|
|
41
72
|
**Changed**
|
|
73
|
+
|
|
42
74
|
- WelcomeMessage header text marked as heading [\#2373](https://github.com/auth0/lock/pull/2373) ([piwysocki](https://github.com/piwysocki))
|
|
43
75
|
|
|
44
76
|
## [v12.0.2](https://github.com/auth0/lock/tree/v12.0.2) (2023-02-10)
|
|
77
|
+
|
|
45
78
|
[Full Changelog](https://github.com/auth0/lock/compare/v12.0.1...v12.0.2)
|
|
46
79
|
|
|
47
80
|
**Changed**
|
|
81
|
+
|
|
48
82
|
- Slight tweaks to Captcha input component handler methods + refresh button mask [\#2272](https://github.com/auth0/lock/pull/2272) ([stevehobbsdev](https://github.com/stevehobbsdev))
|
|
49
83
|
|
|
50
84
|
**Fixed**
|
|
85
|
+
|
|
51
86
|
- Fix for when component is undefined on unmount [\#2271](https://github.com/auth0/lock/pull/2271) ([codetheweb](https://github.com/codetheweb))
|
|
52
87
|
|
|
53
88
|
## [v12.0.1](https://github.com/auth0/lock/tree/v12.0.1) (2023-02-01)
|
|
89
|
+
|
|
54
90
|
[Full Changelog](https://github.com/auth0/lock/compare/v12.0.0...v12.0.1)
|
|
55
91
|
|
|
56
92
|
**Changed**
|
|
93
|
+
|
|
57
94
|
- FDR-487 - feat: update microsoft button [\#2259](https://github.com/auth0/lock/pull/2259) ([jamescgarrett](https://github.com/jamescgarrett))
|
|
58
95
|
|
|
59
96
|
## [v12.0.0](https://github.com/auth0/lock/tree/v12.0.0) (2023-01-20)
|
|
@@ -99,6 +136,7 @@ Despite the major version bump, **v12 is completely API-compatible with v11**.
|
|
|
99
136
|
- Upgrade to React 18 [\#2209](https://github.com/auth0/lock/pull/2209) ([stevehobbsdev](https://github.com/stevehobbsdev))
|
|
100
137
|
- Upgrade to Webpack 5, Jest 29, Babel 8 [\#2213](https://github.com/auth0/lock/pull/2213) ([stevehobbsdev](https://github.com/stevehobbsdev))
|
|
101
138
|
- bump dependencies to latest patch and fix typos [\#2210](https://github.com/auth0/lock/pull/2210) ([piwysocki](https://github.com/piwysocki))
|
|
139
|
+
|
|
102
140
|
## [v11.34.2](https://github.com/auth0/lock/tree/v11.34.2) (2022-10-10)
|
|
103
141
|
|
|
104
142
|
[Full Changelog](https://github.com/auth0/lock/compare/v11.34.1...v11.34.2)
|
package/README.md
CHANGED
|
@@ -30,8 +30,9 @@ From CDN
|
|
|
30
30
|
|
|
31
31
|
```html
|
|
32
32
|
<!-- Latest patch release (recommended for production) -->
|
|
33
|
-
<script src="https://cdn.auth0.com/js/lock/
|
|
33
|
+
<script src="https://cdn.auth0.com/js/lock/13.0.0/lock.min.js"></script>
|
|
34
34
|
```
|
|
35
|
+
|
|
35
36
|
### Configure Auth0
|
|
36
37
|
|
|
37
38
|
Create a **Single Page Application** in the [Auth0 Dashboard](https://manage.auth0.com/#/applications).
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
var _immutable = _interopRequireWildcard(require("immutable"));
|
|
5
4
|
var _actions = require("../../../connection/database/actions");
|
|
6
5
|
var _store = require("../../../store");
|
|
6
|
+
var _captcha = require("../../../connection/captcha");
|
|
7
7
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
8
8
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
14
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
9
15
|
var webApiMock = function webApiMock() {
|
|
10
16
|
return require('core/web_api');
|
|
11
17
|
};
|
|
@@ -17,6 +23,16 @@ jest.mock('core/actions', function () {
|
|
|
17
23
|
validateAndSubmit: jest.fn()
|
|
18
24
|
};
|
|
19
25
|
});
|
|
26
|
+
jest.mock('../../../connection/captcha', function () {
|
|
27
|
+
var originalCaptcha = jest.requireActual('../../../connection/captcha');
|
|
28
|
+
return _objectSpread(_objectSpread({
|
|
29
|
+
__esModule: true
|
|
30
|
+
}, originalCaptcha), {}, {
|
|
31
|
+
swapCaptcha: jest.fn(function (id, flow, wasInvalid, next) {
|
|
32
|
+
next();
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
});
|
|
20
36
|
jest.mock('core/web_api', function () {
|
|
21
37
|
return {
|
|
22
38
|
signUp: jest.fn()
|
|
@@ -225,4 +241,89 @@ describe('database/actions.js', function () {
|
|
|
225
241
|
}
|
|
226
242
|
});
|
|
227
243
|
});
|
|
244
|
+
describe('exported functions', function () {
|
|
245
|
+
var id = 2;
|
|
246
|
+
var mCaptcha = _immutable.default.fromJS({
|
|
247
|
+
field: {
|
|
248
|
+
email: {
|
|
249
|
+
value: 'test@email.com'
|
|
250
|
+
},
|
|
251
|
+
password: {
|
|
252
|
+
value: 'testpass'
|
|
253
|
+
},
|
|
254
|
+
family_name: {
|
|
255
|
+
value: 'test-family-name'
|
|
256
|
+
},
|
|
257
|
+
given_name: {
|
|
258
|
+
value: 'test-given-name'
|
|
259
|
+
},
|
|
260
|
+
name: {
|
|
261
|
+
value: 'test-name'
|
|
262
|
+
},
|
|
263
|
+
nickname: {
|
|
264
|
+
value: 'test-nickname'
|
|
265
|
+
},
|
|
266
|
+
picture: {
|
|
267
|
+
value: 'test-pic'
|
|
268
|
+
},
|
|
269
|
+
other_prop: {
|
|
270
|
+
value: 'test-other'
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
database: {
|
|
274
|
+
additionalSignUpFields: [{
|
|
275
|
+
name: 'family_name',
|
|
276
|
+
storage: 'root'
|
|
277
|
+
}, {
|
|
278
|
+
name: 'given_name',
|
|
279
|
+
storage: 'root'
|
|
280
|
+
}, {
|
|
281
|
+
name: 'name',
|
|
282
|
+
storage: 'root'
|
|
283
|
+
}, {
|
|
284
|
+
name: 'nickname',
|
|
285
|
+
storage: 'root'
|
|
286
|
+
}, {
|
|
287
|
+
name: 'picture',
|
|
288
|
+
storage: 'root'
|
|
289
|
+
}, {
|
|
290
|
+
name: 'other_prop'
|
|
291
|
+
}]
|
|
292
|
+
},
|
|
293
|
+
captcha: {
|
|
294
|
+
provider: 'auth0'
|
|
295
|
+
},
|
|
296
|
+
passwordResetCaptcha: {
|
|
297
|
+
provider: 'auth0'
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
describe('resetPasswordSuccess', function () {
|
|
301
|
+
it('runs swap CAPTCHA', function () {
|
|
302
|
+
(0, _store.swap)(_store.setEntity, 'lock', id, mCaptcha);
|
|
303
|
+
(0, _actions.resetPasswordSuccess)(id);
|
|
304
|
+
expect(_captcha.swapCaptcha.mock.calls.length).toEqual(1);
|
|
305
|
+
});
|
|
306
|
+
});
|
|
307
|
+
describe('showResetPasswordActivity', function () {
|
|
308
|
+
it('runs swap CAPTCHA', function () {
|
|
309
|
+
(0, _store.swap)(_store.setEntity, 'lock', id, mCaptcha);
|
|
310
|
+
(0, _actions.showResetPasswordActivity)(id);
|
|
311
|
+
expect(_captcha.swapCaptcha.mock.calls.length).toEqual(1);
|
|
312
|
+
});
|
|
313
|
+
});
|
|
314
|
+
describe('showLoginActivity', function () {
|
|
315
|
+
it('runs swap CAPTCHA', function () {
|
|
316
|
+
(0, _store.swap)(_store.setEntity, 'lock', id, mCaptcha);
|
|
317
|
+
(0, _actions.showLoginActivity)(id);
|
|
318
|
+
expect(_captcha.swapCaptcha.mock.calls.length).toEqual(1);
|
|
319
|
+
});
|
|
320
|
+
});
|
|
321
|
+
describe('showSignupActivity', function () {
|
|
322
|
+
it('runs swap CAPTCHA', function () {
|
|
323
|
+
(0, _store.swap)(_store.setEntity, 'lock', id, mCaptcha);
|
|
324
|
+
(0, _actions.showSignUpActivity)(id);
|
|
325
|
+
expect(_captcha.swapCaptcha.mock.calls.length).toEqual(1);
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
});
|
|
228
329
|
});
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
4
|
var _testUtils = require("testUtils");
|
|
5
5
|
var _testUtils2 = require("../../testUtils");
|
|
6
|
+
var _captcha = require("../../../connection/captcha");
|
|
6
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
8
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }
|
|
8
9
|
jest.mock('field/email/email_pane', function () {
|
|
@@ -19,7 +20,7 @@ jest.mock('field/custom_input', function () {
|
|
|
19
20
|
});
|
|
20
21
|
jest.mock('core/index', function () {
|
|
21
22
|
return {
|
|
22
|
-
|
|
23
|
+
signupCaptcha: jest.fn()
|
|
23
24
|
};
|
|
24
25
|
});
|
|
25
26
|
jest.mock('engine/classic', function () {
|
|
@@ -73,6 +74,7 @@ describe('SignUpPane', function () {
|
|
|
73
74
|
return keys.join(',');
|
|
74
75
|
}
|
|
75
76
|
},
|
|
77
|
+
flow: _captcha.Flow.SIGNUP,
|
|
76
78
|
model: 'model',
|
|
77
79
|
emailInputPlaceholder: 'emailInputPlaceholder',
|
|
78
80
|
onlyEmail: true,
|
|
@@ -92,7 +94,7 @@ describe('SignUpPane', function () {
|
|
|
92
94
|
}))).toMatchSnapshot();
|
|
93
95
|
});
|
|
94
96
|
it('shows the Captcha pane', function () {
|
|
95
|
-
require('core/index').
|
|
97
|
+
require('core/index').signupCaptcha.mockReturnValue({
|
|
96
98
|
get: function get() {
|
|
97
99
|
return true;
|
|
98
100
|
}
|
|
@@ -102,7 +104,7 @@ describe('SignUpPane', function () {
|
|
|
102
104
|
(0, _testUtils2.expectShallowComponent)( /*#__PURE__*/_react.default.createElement(Component, defaultProps)).toMatchSnapshot();
|
|
103
105
|
});
|
|
104
106
|
it('hides the Captcha pane for SSO connections', function () {
|
|
105
|
-
require('core/index').
|
|
107
|
+
require('core/index').signupCaptcha.mockReturnValue({
|
|
106
108
|
get: function get() {
|
|
107
109
|
return true;
|
|
108
110
|
}
|
|
@@ -112,7 +114,7 @@ describe('SignUpPane', function () {
|
|
|
112
114
|
(0, _testUtils2.expectShallowComponent)( /*#__PURE__*/_react.default.createElement(Component, defaultProps)).toMatchSnapshot();
|
|
113
115
|
});
|
|
114
116
|
it('shows the Captcha pane for SSO (ADFS) connections', function () {
|
|
115
|
-
require('core/index').
|
|
117
|
+
require('core/index').signupCaptcha.mockReturnValue({
|
|
116
118
|
get: function get() {
|
|
117
119
|
return true;
|
|
118
120
|
}
|
|
@@ -158,13 +158,22 @@ describe('ThirdPartyCaptcha', function () {
|
|
|
158
158
|
});
|
|
159
159
|
});
|
|
160
160
|
it('should call render with the correct renderParams', function () {
|
|
161
|
-
var
|
|
161
|
+
var renderCalls = global.window.hcaptcha.render.mock.calls;
|
|
162
|
+
var renderParams = renderCalls[0][1];
|
|
162
163
|
expect(renderParams).toEqual({
|
|
163
164
|
sitekey: 'mySiteKey',
|
|
164
165
|
callback: expect.any(Function),
|
|
165
166
|
'expired-callback': expect.any(Function),
|
|
166
167
|
'error-callback': expect.any(Function)
|
|
167
168
|
});
|
|
169
|
+
expect(renderCalls.length).toEqual(1);
|
|
170
|
+
});
|
|
171
|
+
it('should call render on update', function () {
|
|
172
|
+
(0, _testUtils.act)(function () {
|
|
173
|
+
wrapper.setState();
|
|
174
|
+
var renderCalls = global.window.hcaptcha.render.mock.calls;
|
|
175
|
+
expect(renderCalls.length).toEqual(1);
|
|
176
|
+
});
|
|
168
177
|
});
|
|
169
178
|
});
|
|
170
179
|
describe('auth0_v2', function () {
|
|
@@ -19,13 +19,14 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
19
19
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
20
|
var Flow = exports.Flow = Object.freeze({
|
|
21
21
|
DEFAULT: 'default',
|
|
22
|
+
SIGNUP: 'signup',
|
|
22
23
|
PASSWORDLESS: 'passwordless',
|
|
23
24
|
PASSWORD_RESET: 'password_reset'
|
|
24
25
|
});
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
28
|
* Return the captcha config object based on the type of flow.
|
|
28
|
-
*
|
|
29
|
+
*
|
|
29
30
|
* @param {Object} m model
|
|
30
31
|
* @param {Flow} flow Which flow the captcha is being rendered in
|
|
31
32
|
*/
|
|
@@ -34,6 +35,8 @@ function getCaptchaConfig(m, flow) {
|
|
|
34
35
|
return l.passwordResetCaptcha(m);
|
|
35
36
|
} else if (flow === Flow.PASSWORDLESS) {
|
|
36
37
|
return l.passwordlessCaptcha(m);
|
|
38
|
+
} else if (flow === Flow.SIGNUP) {
|
|
39
|
+
return l.signupCaptcha(m);
|
|
37
40
|
} else {
|
|
38
41
|
return l.captcha(m);
|
|
39
42
|
}
|
|
@@ -111,6 +114,15 @@ function swapCaptcha(id, flow, wasInvalid, next) {
|
|
|
111
114
|
next();
|
|
112
115
|
}
|
|
113
116
|
});
|
|
117
|
+
} else if (flow === Flow.SIGNUP) {
|
|
118
|
+
return _web_api.default.getSignupChallenge(id, function (err, newCaptcha) {
|
|
119
|
+
if (!err && newCaptcha) {
|
|
120
|
+
(0, _index3.swap)(_index3.updateEntity, 'lock', id, l.setSignupChallenge, newCaptcha, wasInvalid);
|
|
121
|
+
}
|
|
122
|
+
if (next) {
|
|
123
|
+
next();
|
|
124
|
+
}
|
|
125
|
+
});
|
|
114
126
|
} else {
|
|
115
127
|
return _web_api.default.getChallenge(id, function (err, newCaptcha) {
|
|
116
128
|
if (!err && newCaptcha) {
|
|
@@ -8,6 +8,7 @@ exports.cancelMFALogin = cancelMFALogin;
|
|
|
8
8
|
exports.cancelResetPassword = cancelResetPassword;
|
|
9
9
|
exports.logIn = logIn;
|
|
10
10
|
exports.resetPassword = resetPassword;
|
|
11
|
+
exports.resetPasswordSuccess = resetPasswordSuccess;
|
|
11
12
|
exports.showLoginActivity = showLoginActivity;
|
|
12
13
|
exports.showLoginMFAActivity = showLoginMFAActivity;
|
|
13
14
|
exports.showResetPasswordActivity = showResetPasswordActivity;
|
|
@@ -84,9 +85,9 @@ function signUp(id) {
|
|
|
84
85
|
password: c.getFieldValue(m, 'password'),
|
|
85
86
|
autoLogin: (0, _index4.shouldAutoLogin)(m)
|
|
86
87
|
};
|
|
87
|
-
var isCaptchaValid = (0, _captcha.setCaptchaParams)(m, params, _captcha.Flow.
|
|
88
|
+
var isCaptchaValid = (0, _captcha.setCaptchaParams)(m, params, _captcha.Flow.SIGNUP, fields);
|
|
88
89
|
if (!isCaptchaValid) {
|
|
89
|
-
return (0, _captcha.showMissingCaptcha)(m, id);
|
|
90
|
+
return (0, _captcha.showMissingCaptcha)(m, id, _captcha.Flow.SIGNUP);
|
|
90
91
|
}
|
|
91
92
|
if ((0, _index4.databaseConnectionRequiresUsername)(m)) {
|
|
92
93
|
if ((0, _index4.signUpHideUsernameField)(m)) {
|
|
@@ -125,7 +126,7 @@ function signUp(id) {
|
|
|
125
126
|
popupHandler._current_popup.kill();
|
|
126
127
|
}
|
|
127
128
|
var wasInvalidCaptcha = error && error.code === 'invalid_captcha';
|
|
128
|
-
(0, _captcha.swapCaptcha)(id, _captcha.Flow.
|
|
129
|
+
(0, _captcha.swapCaptcha)(id, _captcha.Flow.SIGNUP, wasInvalidCaptcha, function () {
|
|
129
130
|
setTimeout(function () {
|
|
130
131
|
return signUpError(id, error);
|
|
131
132
|
}, 250);
|
|
@@ -247,10 +248,12 @@ function resetPassword(id) {
|
|
|
247
248
|
function resetPasswordSuccess(id) {
|
|
248
249
|
var m = (0, _index.read)(_index.getEntity, 'lock', id);
|
|
249
250
|
if ((0, _index4.hasScreen)(m, 'login')) {
|
|
250
|
-
(0,
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
251
|
+
(0, _captcha.swapCaptcha)(id, _captcha.Flow.PASSWORD_RESET, false, function () {
|
|
252
|
+
(0, _index.swap)(_index.updateEntity, 'lock', id, function (m) {
|
|
253
|
+
return (0, _index4.setScreen)(l.setSubmitting(m, false), 'login', ['']);
|
|
254
|
+
} // array with one empty string tells the function to not clear any field
|
|
255
|
+
);
|
|
256
|
+
});
|
|
254
257
|
|
|
255
258
|
// TODO: should be handled by box
|
|
256
259
|
setTimeout(function () {
|
|
@@ -261,8 +264,10 @@ function resetPasswordSuccess(id) {
|
|
|
261
264
|
if (l.ui.autoclose(m)) {
|
|
262
265
|
(0, _actions.closeLock)(id);
|
|
263
266
|
} else {
|
|
264
|
-
(0,
|
|
265
|
-
|
|
267
|
+
(0, _captcha.swapCaptcha)(id, _captcha.Flow.PASSWORD_RESET, false, function () {
|
|
268
|
+
(0, _index.swap)(_index.updateEntity, 'lock', id, function (m) {
|
|
269
|
+
return l.setSubmitting(m, false).set('passwordResetted', true);
|
|
270
|
+
});
|
|
266
271
|
});
|
|
267
272
|
}
|
|
268
273
|
}
|
|
@@ -281,15 +286,39 @@ function resetPasswordError(id, error) {
|
|
|
281
286
|
}
|
|
282
287
|
function showLoginActivity(id) {
|
|
283
288
|
var fields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['password'];
|
|
284
|
-
(0, _index.
|
|
289
|
+
var m = (0, _index.read)(_index.getEntity, 'lock', id);
|
|
290
|
+
var captchaConfig = l.captcha(m);
|
|
291
|
+
if (captchaConfig && captchaConfig.get('provider') === 'arkose') {
|
|
292
|
+
(0, _index.swap)(_index.updateEntity, 'lock', id, _index4.setScreen, 'login', fields);
|
|
293
|
+
} else {
|
|
294
|
+
(0, _captcha.swapCaptcha)(id, 'login', false, function () {
|
|
295
|
+
(0, _index.swap)(_index.updateEntity, 'lock', id, _index4.setScreen, 'login', fields);
|
|
296
|
+
});
|
|
297
|
+
}
|
|
285
298
|
}
|
|
286
299
|
function showSignUpActivity(id) {
|
|
287
300
|
var fields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['password'];
|
|
288
|
-
(0, _index.
|
|
301
|
+
var m = (0, _index.read)(_index.getEntity, 'lock', id);
|
|
302
|
+
var captchaConfig = l.signupCaptcha(m);
|
|
303
|
+
if (captchaConfig && captchaConfig.get('provider') === 'arkose') {
|
|
304
|
+
(0, _index.swap)(_index.updateEntity, 'lock', id, _index4.setScreen, 'signUp', fields);
|
|
305
|
+
} else {
|
|
306
|
+
(0, _captcha.swapCaptcha)(id, _captcha.Flow.SIGNUP, false, function () {
|
|
307
|
+
(0, _index.swap)(_index.updateEntity, 'lock', id, _index4.setScreen, 'signUp', fields);
|
|
308
|
+
});
|
|
309
|
+
}
|
|
289
310
|
}
|
|
290
311
|
function showResetPasswordActivity(id) {
|
|
291
312
|
var fields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['password'];
|
|
292
|
-
(0, _index.
|
|
313
|
+
var m = (0, _index.read)(_index.getEntity, 'lock', id);
|
|
314
|
+
var captchaConfig = l.passwordResetCaptcha(m);
|
|
315
|
+
if (captchaConfig && captchaConfig.get('provider') === 'arkose') {
|
|
316
|
+
(0, _index.swap)(_index.updateEntity, 'lock', id, _index4.setScreen, 'forgotPassword', fields);
|
|
317
|
+
} else {
|
|
318
|
+
(0, _captcha.swapCaptcha)(id, _captcha.Flow.PASSWORD_RESET, false, function () {
|
|
319
|
+
(0, _index.swap)(_index.updateEntity, 'lock', id, _index4.setScreen, 'forgotPassword', fields);
|
|
320
|
+
});
|
|
321
|
+
}
|
|
293
322
|
}
|
|
294
323
|
function cancelResetPassword(id) {
|
|
295
324
|
return showLoginActivity(id);
|
|
@@ -24,7 +24,8 @@ exports.showTerms = showTerms;
|
|
|
24
24
|
exports.termsAccepted = termsAccepted;
|
|
25
25
|
exports.toggleTermsAcceptance = toggleTermsAcceptance;
|
|
26
26
|
var _immutable = _interopRequireWildcard(require("immutable"));
|
|
27
|
-
var
|
|
27
|
+
var _index = _interopRequireWildcard(require("../../core/index"));
|
|
28
|
+
var l = _index;
|
|
28
29
|
var _index2 = require("../../field/index");
|
|
29
30
|
var _phone_number = require("../../field/phone_number");
|
|
30
31
|
var _data_utils = require("../../utils/data_utils");
|
|
@@ -49,6 +50,14 @@ function initPasswordless(m, opts) {
|
|
|
49
50
|
mustAcceptTerms: mustAcceptTerms,
|
|
50
51
|
showTerms: showTerms
|
|
51
52
|
}));
|
|
53
|
+
m = (0, _sync.default)(m, 'passwordlessCaptcha', {
|
|
54
|
+
syncFn: function syncFn(m, cb) {
|
|
55
|
+
_web_api.default.getPasswordlessChallenge(m.get('id'), function (err, r) {
|
|
56
|
+
cb(null, r);
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
successFn: _index.setPasswordlessCaptcha
|
|
60
|
+
});
|
|
52
61
|
if (opts.defaultLocation && typeof opts.defaultLocation === 'string') {
|
|
53
62
|
m = (0, _phone_number.initLocation)(m, opts.defaultLocation.toUpperCase());
|
|
54
63
|
} else {
|
package/lib/core/index.js
CHANGED
|
@@ -58,10 +58,12 @@ exports.setLoggedIn = setLoggedIn;
|
|
|
58
58
|
exports.setPasswordResetCaptcha = setPasswordResetCaptcha;
|
|
59
59
|
exports.setPasswordlessCaptcha = setPasswordlessCaptcha;
|
|
60
60
|
exports.setResolvedConnection = setResolvedConnection;
|
|
61
|
+
exports.setSignupChallenge = setSignupChallenge;
|
|
61
62
|
exports.setSubmitting = setSubmitting;
|
|
62
63
|
exports.setSupressSubmitOverlay = setSupressSubmitOverlay;
|
|
63
64
|
exports.setup = setup;
|
|
64
65
|
exports.showBadge = showBadge;
|
|
66
|
+
exports.signupCaptcha = signupCaptcha;
|
|
65
67
|
exports.stop = stop;
|
|
66
68
|
exports.stopRendering = stopRendering;
|
|
67
69
|
exports.submitting = submitting;
|
|
@@ -488,6 +490,10 @@ function setCaptcha(m, value, wasInvalid) {
|
|
|
488
490
|
m = captchaField.reset(m, wasInvalid);
|
|
489
491
|
return set(m, 'captcha', _immutable.default.fromJS(value));
|
|
490
492
|
}
|
|
493
|
+
function setSignupChallenge(m, value, wasInvalid) {
|
|
494
|
+
m = captchaField.reset(m, wasInvalid);
|
|
495
|
+
return set(m, 'signupCaptcha', _immutable.default.fromJS(value));
|
|
496
|
+
}
|
|
491
497
|
function setPasswordlessCaptcha(m, value, wasInvalid) {
|
|
492
498
|
m = captchaField.reset(m, wasInvalid);
|
|
493
499
|
return set(m, 'passwordlessCaptcha', _immutable.default.fromJS(value));
|
|
@@ -499,6 +505,9 @@ function setPasswordResetCaptcha(m, value, wasInvalid) {
|
|
|
499
505
|
function captcha(m) {
|
|
500
506
|
return get(m, 'captcha');
|
|
501
507
|
}
|
|
508
|
+
function signupCaptcha(m) {
|
|
509
|
+
return get(m, 'signupCaptcha');
|
|
510
|
+
}
|
|
502
511
|
function passwordlessCaptcha(m) {
|
|
503
512
|
return get(m, 'passwordlessCaptcha');
|
|
504
513
|
}
|
package/lib/core/remote_data.js
CHANGED
|
@@ -78,21 +78,5 @@ function syncRemoteData(m) {
|
|
|
78
78
|
},
|
|
79
79
|
successFn: _index2.setCaptcha
|
|
80
80
|
});
|
|
81
|
-
m = (0, _sync.default)(m, 'passwordlessCaptcha', {
|
|
82
|
-
syncFn: function syncFn(m, cb) {
|
|
83
|
-
_web_api.default.getPasswordlessChallenge(m.get('id'), function (err, r) {
|
|
84
|
-
cb(null, r);
|
|
85
|
-
});
|
|
86
|
-
},
|
|
87
|
-
successFn: _index2.setPasswordlessCaptcha
|
|
88
|
-
});
|
|
89
|
-
m = (0, _sync.default)(m, 'passwordResetCaptcha', {
|
|
90
|
-
syncFn: function syncFn(m, cb) {
|
|
91
|
-
_web_api.default.getPasswordResetChallenge(m.get('id'), function (err, r) {
|
|
92
|
-
cb(null, r);
|
|
93
|
-
});
|
|
94
|
-
},
|
|
95
|
-
successFn: _index2.setPasswordResetCaptcha
|
|
96
|
-
});
|
|
97
81
|
return m;
|
|
98
82
|
}
|
|
@@ -192,6 +192,12 @@ var Auth0APIClient = /*#__PURE__*/function () {
|
|
|
192
192
|
var _this$client$client2;
|
|
193
193
|
return (_this$client$client2 = this.client.client).getChallenge.apply(_this$client$client2, arguments);
|
|
194
194
|
}
|
|
195
|
+
}, {
|
|
196
|
+
key: "getSignupChallenge",
|
|
197
|
+
value: function getSignupChallenge() {
|
|
198
|
+
var _this$client$client$d;
|
|
199
|
+
return (_this$client$client$d = this.client.client.dbConnection).getSignupChallenge.apply(_this$client$client$d, arguments);
|
|
200
|
+
}
|
|
195
201
|
}, {
|
|
196
202
|
key: "getPasswordlessChallenge",
|
|
197
203
|
value: function getPasswordlessChallenge() {
|
|
@@ -201,8 +207,8 @@ var Auth0APIClient = /*#__PURE__*/function () {
|
|
|
201
207
|
}, {
|
|
202
208
|
key: "getPasswordResetChallenge",
|
|
203
209
|
value: function getPasswordResetChallenge() {
|
|
204
|
-
var _this$client$client$
|
|
205
|
-
return (_this$client$client$
|
|
210
|
+
var _this$client$client$d2;
|
|
211
|
+
return (_this$client$client$d2 = this.client.client.dbConnection).getPasswordResetChallenge.apply(_this$client$client$d2, arguments);
|
|
206
212
|
}
|
|
207
213
|
}, {
|
|
208
214
|
key: "getUserCountry",
|
package/lib/core/web_api.js
CHANGED
|
@@ -84,6 +84,11 @@ var Auth0WebAPI = /*#__PURE__*/function () {
|
|
|
84
84
|
value: function getChallenge(lockID, callback) {
|
|
85
85
|
return this.clients[lockID].getChallenge(callback);
|
|
86
86
|
}
|
|
87
|
+
}, {
|
|
88
|
+
key: "getSignupChallenge",
|
|
89
|
+
value: function getSignupChallenge(lockID, callback) {
|
|
90
|
+
return this.clients[lockID].getSignupChallenge(callback);
|
|
91
|
+
}
|
|
87
92
|
}, {
|
|
88
93
|
key: "getPasswordlessChallenge",
|
|
89
94
|
value: function getPasswordlessChallenge(lockID, callback) {
|
|
@@ -74,11 +74,12 @@ var SignUpPane = exports.default = /*#__PURE__*/function (_React$Component) {
|
|
|
74
74
|
value: x.get('value')
|
|
75
75
|
});
|
|
76
76
|
});
|
|
77
|
-
var captchaPane = l.
|
|
77
|
+
var captchaPane = l.signupCaptcha(model) && l.signupCaptcha(model).get('required') && ((0, _enterprise.isHRDDomain)(model, (0, _index.databaseUsernameValue)(model)) || !sso) ? /*#__PURE__*/_react.default.createElement(_captcha_pane.default, {
|
|
78
78
|
i18n: i18n,
|
|
79
79
|
lock: model,
|
|
80
|
+
flow: _captcha.Flow.SIGNUP,
|
|
80
81
|
onReload: function onReload() {
|
|
81
|
-
return (0, _captcha.swapCaptcha)(l.id(model), _captcha.Flow.
|
|
82
|
+
return (0, _captcha.swapCaptcha)(l.id(model), _captcha.Flow.SIGNUP, false);
|
|
82
83
|
}
|
|
83
84
|
}) : null;
|
|
84
85
|
var passwordPane = !onlyEmail && /*#__PURE__*/_react.default.createElement(_password_pane.default, {
|
|
@@ -84,6 +84,13 @@ var providerDomPrefix = function providerDomPrefix(provider) {
|
|
|
84
84
|
return 'auth0-v2';
|
|
85
85
|
}
|
|
86
86
|
};
|
|
87
|
+
var providerComponentId = function providerComponentId(provider) {
|
|
88
|
+
if (provider === HCAPTCHA_PROVIDER) {
|
|
89
|
+
return 'h-captcha';
|
|
90
|
+
} else {
|
|
91
|
+
return '';
|
|
92
|
+
}
|
|
93
|
+
};
|
|
87
94
|
var loadScript = function loadScript(url, attributes) {
|
|
88
95
|
var script = document.createElement('script');
|
|
89
96
|
for (var attr in attributes) {
|
|
@@ -321,15 +328,20 @@ var ThirdPartyCaptcha = exports.ThirdPartyCaptcha = /*#__PURE__*/function (_Reac
|
|
|
321
328
|
className: this.props.isValid ? "auth0-lock-".concat(providerDomPrefix(this.props.provider), "-block") : "auth0-lock-".concat(providerDomPrefix(this.props.provider), "-block auth0-lock-").concat(providerDomPrefix(this.props.provider), "-block-error")
|
|
322
329
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
323
330
|
className: "auth0-lock-".concat(providerDomPrefix(this.props.provider) === 'recaptcha' ? 'recaptchav2' : providerDomPrefix(this.props.provider)),
|
|
331
|
+
id: providerComponentId(this.props.provider),
|
|
324
332
|
ref: this.ref
|
|
325
333
|
}));
|
|
326
334
|
}
|
|
327
335
|
}, {
|
|
328
336
|
key: "componentDidUpdate",
|
|
329
337
|
value: function componentDidUpdate(prevProps, prevState) {
|
|
338
|
+
var hCaptchaComponent = document.getElementById("h-captcha");
|
|
330
339
|
if (prevProps.value !== this.props.value && this.props.value === '') {
|
|
331
340
|
this.reset();
|
|
332
341
|
}
|
|
342
|
+
if (this.props.provider === HCAPTCHA_PROVIDER && hCaptchaComponent && window[this.props.provider]) {
|
|
343
|
+
window[this.props.provider].render('h-captcha', this.getRenderParams());
|
|
344
|
+
}
|
|
333
345
|
}
|
|
334
346
|
}], [{
|
|
335
347
|
key: "getDerivedStateFromProps",
|
package/lib/i18n.js
CHANGED
|
@@ -91,7 +91,7 @@ function assertLanguage(m, language, base) {
|
|
|
91
91
|
function syncLang(m, language, _cb) {
|
|
92
92
|
(0, _cdn_utils.load)({
|
|
93
93
|
method: 'registerLanguageDictionary',
|
|
94
|
-
url: "".concat(l.languageBaseUrl(m), "/js/lock/").concat("
|
|
94
|
+
url: "".concat(l.languageBaseUrl(m), "/js/lock/").concat("13.0.0", "/").concat(language, ".js"),
|
|
95
95
|
check: function check(str) {
|
|
96
96
|
return str && str === language;
|
|
97
97
|
},
|
package/lib/lock.js
CHANGED
|
@@ -37,7 +37,7 @@ var Auth0Lock = exports.default = /*#__PURE__*/function (_Core) {
|
|
|
37
37
|
_inherits(Auth0Lock, _Core);
|
|
38
38
|
return _createClass(Auth0Lock);
|
|
39
39
|
}(_core.default); // telemetry
|
|
40
|
-
Auth0Lock.version = "
|
|
40
|
+
Auth0Lock.version = "13.0.0";
|
|
41
41
|
|
|
42
42
|
// TODO: should we have different telemetry for classic/passwordless?
|
|
43
43
|
// TODO: should we set telemetry info before each request?
|
package/lib/passwordless.js
CHANGED
|
@@ -37,4 +37,4 @@ var Auth0LockPasswordless = exports.default = /*#__PURE__*/function (_Core) {
|
|
|
37
37
|
_inherits(Auth0LockPasswordless, _Core);
|
|
38
38
|
return _createClass(Auth0LockPasswordless);
|
|
39
39
|
}(_core.default);
|
|
40
|
-
Auth0LockPasswordless.version = "
|
|
40
|
+
Auth0LockPasswordless.version = "13.0.0";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "auth0-lock",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"description": "Auth0 Lock",
|
|
5
5
|
"author": "Auth0 <support@auth0.com> (http://auth0.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"@babel/plugin-syntax-import-meta": "^7.0.0",
|
|
62
62
|
"@babel/preset-env": "^7.0.0",
|
|
63
63
|
"@babel/preset-react": "^7.0.0",
|
|
64
|
-
"@cfaester/enzyme-adapter-react-18": "^0.
|
|
64
|
+
"@cfaester/enzyme-adapter-react-18": "^0.8.0",
|
|
65
65
|
"@google-cloud/translate": "^6.0.2",
|
|
66
66
|
"babel-jest": "^29.3.1",
|
|
67
67
|
"babel-loader": "8.3.0",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"puppeteer": "^10.1.0",
|
|
112
112
|
"react-test-renderer": "^18.2.0",
|
|
113
113
|
"sinon": "^1.15.4",
|
|
114
|
-
"stylus": "^0.
|
|
114
|
+
"stylus": "^0.63.0",
|
|
115
115
|
"stylus-loader": "^3.0.2",
|
|
116
116
|
"tmp": "^0.2.1",
|
|
117
117
|
"unminified-webpack-plugin": "^3.0.0",
|
|
@@ -121,11 +121,11 @@
|
|
|
121
121
|
"webpack-dev-server": "^4.11.1"
|
|
122
122
|
},
|
|
123
123
|
"dependencies": {
|
|
124
|
-
"auth0-js": "^9.
|
|
124
|
+
"auth0-js": "^9.27.0",
|
|
125
125
|
"auth0-password-policies": "^1.0.2",
|
|
126
126
|
"blueimp-md5": "^2.19.0",
|
|
127
127
|
"classnames": "^2.3.2",
|
|
128
|
-
"dompurify": "^2.
|
|
128
|
+
"dompurify": "^2.5.4",
|
|
129
129
|
"immutable": "^3.7.6",
|
|
130
130
|
"jsonp": "^0.2.1",
|
|
131
131
|
"password-sheriff": "^1.1.1",
|