auth0-lock 12.0.2 → 12.2.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/.eslintrc.json +1 -1
- package/.github/ISSUE_TEMPLATE/Bug Report.yml +79 -0
- package/.github/ISSUE_TEMPLATE/config.yml +2 -2
- package/.github/dependabot.yml +2 -5
- package/.github/workflows/codeql.yml +25 -12
- package/.github/workflows/publish.yml +74 -0
- package/.github/workflows/semgrep.yml +33 -9
- package/.github/workflows/snyk.yml +47 -0
- package/.github/workflows/test.yml +66 -0
- package/.semgrepignore +8 -0
- package/.shiprc +1 -1
- package/CHANGELOG.md +15 -0
- package/DEVELOPMENT.md +9 -10
- package/EXAMPLES.md +18 -5
- package/README.md +2 -3
- package/lib/__tests__/connection/database/login_pane.js +1 -1
- package/lib/__tests__/connection/database/password_reset_confirmation.js +1 -1
- package/lib/__tests__/connection/database/signed_up_confirmation.js +1 -1
- package/lib/__tests__/connection/enterprise/actions.js +2 -2
- package/lib/__tests__/connection/enterprise/quick_auth_screen.js +1 -1
- package/lib/__tests__/connection/passwordless/email_sent_confirmation.js +1 -1
- package/lib/__tests__/core/signed_in_confirmation.js +1 -1
- package/lib/__tests__/field/captcha/friendlyCaptcha.js +58 -0
- package/lib/__tests__/field/captcha/hcaptcha.js +58 -0
- package/lib/__tests__/field/captcha/recaptcha_enterprise.js +3 -3
- package/lib/__tests__/field/captcha/recaptchav2.js +3 -3
- package/lib/__tests__/field/captcha.js +51 -7
- package/lib/__tests__/field/custom_input.js +21 -0
- package/lib/__tests__/testUtils.js +1 -1
- package/lib/__tests__/ui/box/confirmation_pane.js +1 -1
- package/lib/browser.js +9 -0
- package/lib/connection/captcha.js +1 -1
- package/lib/connection/enterprise/actions.js +6 -1
- package/lib/connection/passwordless/actions.js +1 -1
- package/lib/core/client/index.js +1 -1
- package/lib/core/index.js +1 -1
- package/lib/core/web_api/helper.js +1 -1
- package/lib/core.js +1 -1
- package/lib/field/captcha/captcha_pane.js +4 -4
- package/lib/field/captcha/{recaptcha.js → third_party_captcha.js} +74 -33
- package/lib/field/custom_input.js +1 -0
- package/lib/field/phone-number/phone_number_pane.js +1 -1
- package/lib/i18n.js +1 -1
- package/lib/lock.js +1 -1
- package/lib/passwordless.js +1 -1
- package/lib/ui/box/header.js +6 -1
- package/lib/ui/input/checkbox_input.js +15 -4
- package/lib/ui/input/input_wrap.js +5 -1
- package/package.json +10 -14
- package/.circleci/config.yml +0 -92
- package/.github/ISSUE_TEMPLATE/report_a_bug.md +0 -57
- package/.snyk +0 -19
- package/Makefile +0 -22
package/.eslintrc.json
CHANGED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
name: 🐞 Report a bug
|
|
2
|
+
description: Have you found a bug or issue? Create a bug report for this library
|
|
3
|
+
labels: ["bug"]
|
|
4
|
+
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
**Please do not report security vulnerabilities here**. The [Responsible Disclosure Program](https://auth0.com/responsible-disclosure-policy) details the procedure for disclosing security issues.
|
|
10
|
+
|
|
11
|
+
- type: markdown
|
|
12
|
+
attributes:
|
|
13
|
+
value: |
|
|
14
|
+
:warning: **Note:** We are no longer supporting requests for new features. Only requests for bug fixes or security patches will be considered.
|
|
15
|
+
|
|
16
|
+
- type: checkboxes
|
|
17
|
+
id: checklist
|
|
18
|
+
attributes:
|
|
19
|
+
label: Checklist
|
|
20
|
+
options:
|
|
21
|
+
- label: I have looked into the [Readme](https://github.com/auth0/lock#readme) and [Examples](https://github.com/auth0/lock/blob/master/EXAMPLES.md), and have not found a suitable solution or answer.
|
|
22
|
+
required: true
|
|
23
|
+
- label: I have searched the [issues](https://github.com/auth0/lock/issues) and have not found a suitable solution or answer.
|
|
24
|
+
required: true
|
|
25
|
+
- label: I have searched the [Auth0 Community](https://community.auth0.com) forums and have not found a suitable solution or answer.
|
|
26
|
+
required: true
|
|
27
|
+
- label: I agree to the terms within the [Auth0 Code of Conduct](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md).
|
|
28
|
+
required: true
|
|
29
|
+
|
|
30
|
+
- type: textarea
|
|
31
|
+
id: description
|
|
32
|
+
attributes:
|
|
33
|
+
label: Description
|
|
34
|
+
description: Provide a clear and concise description of the issue, including what you expected to happen.
|
|
35
|
+
validations:
|
|
36
|
+
required: true
|
|
37
|
+
|
|
38
|
+
- type: textarea
|
|
39
|
+
id: reproduction
|
|
40
|
+
attributes:
|
|
41
|
+
label: Reproduction
|
|
42
|
+
description: Detail the steps taken to reproduce this error, and whether this issue can be reproduced consistently or if it is intermittent.
|
|
43
|
+
placeholder: |
|
|
44
|
+
1. Step 1...
|
|
45
|
+
2. Step 2...
|
|
46
|
+
3. ...
|
|
47
|
+
validations:
|
|
48
|
+
required: true
|
|
49
|
+
|
|
50
|
+
- type: textarea
|
|
51
|
+
id: additional-context
|
|
52
|
+
attributes:
|
|
53
|
+
label: Additional context
|
|
54
|
+
description: Other libraries that might be involved, or any other relevant information you think would be useful.
|
|
55
|
+
validations:
|
|
56
|
+
required: false
|
|
57
|
+
|
|
58
|
+
- type: input
|
|
59
|
+
id: environment-version
|
|
60
|
+
attributes:
|
|
61
|
+
label: Lock version
|
|
62
|
+
validations:
|
|
63
|
+
required: true
|
|
64
|
+
|
|
65
|
+
- type: dropdown
|
|
66
|
+
id: environment-browser
|
|
67
|
+
attributes:
|
|
68
|
+
label: Which browsers have you tested in?
|
|
69
|
+
multiple: true
|
|
70
|
+
options:
|
|
71
|
+
- Chrome
|
|
72
|
+
- Edge
|
|
73
|
+
- Safari
|
|
74
|
+
- Firefox
|
|
75
|
+
- Opera
|
|
76
|
+
- IE
|
|
77
|
+
- Other
|
|
78
|
+
validations:
|
|
79
|
+
required: true
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
blank_issues_enabled: false
|
|
2
2
|
contact_links:
|
|
3
3
|
- name: Auth0 Community
|
|
4
|
-
url: https://community.auth0.com
|
|
4
|
+
url: https://community.auth0.com
|
|
5
5
|
about: Discuss this SDK in the Auth0 Community forums
|
|
6
6
|
- name: Library Documentation
|
|
7
|
-
url: https://auth0.com/docs/libraries/lock
|
|
7
|
+
url: https://auth0.com/docs/libraries/lock
|
|
8
8
|
about: Read the library docs on Auth0.com
|
package/.github/dependabot.yml
CHANGED
|
@@ -1,30 +1,43 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: CodeQL
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
branches: [ "master", "v6", "v7", "v8", "v9-optional-signup-username", "v9", "v10" ]
|
|
4
|
+
merge_group:
|
|
6
5
|
pull_request:
|
|
7
|
-
|
|
6
|
+
types:
|
|
7
|
+
- opened
|
|
8
|
+
- synchronize
|
|
9
|
+
push:
|
|
10
|
+
branches:
|
|
11
|
+
- master
|
|
12
|
+
- v*
|
|
8
13
|
schedule:
|
|
9
|
-
- cron:
|
|
14
|
+
- cron: '11 10 * * 4'
|
|
15
|
+
|
|
16
|
+
permissions:
|
|
17
|
+
actions: read
|
|
18
|
+
contents: read
|
|
19
|
+
security-events: write
|
|
20
|
+
|
|
21
|
+
concurrency:
|
|
22
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
23
|
+
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
|
|
10
24
|
|
|
11
25
|
jobs:
|
|
12
26
|
analyze:
|
|
13
27
|
name: Analyze
|
|
14
28
|
runs-on: ubuntu-latest
|
|
15
|
-
permissions:
|
|
16
|
-
actions: read
|
|
17
|
-
contents: read
|
|
18
|
-
security-events: write
|
|
19
29
|
|
|
20
30
|
strategy:
|
|
21
31
|
fail-fast: false
|
|
22
32
|
matrix:
|
|
23
|
-
language: [
|
|
33
|
+
language: [javascript]
|
|
24
34
|
|
|
25
35
|
steps:
|
|
36
|
+
- if: github.actor == 'dependabot[bot]' || github.event_name == 'merge_group'
|
|
37
|
+
run: exit 0 # Skip unnecessary test runs for dependabot and merge queues. Artifically flag as successful, as this is a required check for branch protection.
|
|
38
|
+
|
|
26
39
|
- name: Checkout
|
|
27
|
-
uses: actions/checkout@
|
|
40
|
+
uses: actions/checkout@v4
|
|
28
41
|
|
|
29
42
|
- name: Initialize CodeQL
|
|
30
43
|
uses: github/codeql-action/init@v2
|
|
@@ -38,4 +51,4 @@ jobs:
|
|
|
38
51
|
- name: Perform CodeQL Analysis
|
|
39
52
|
uses: github/codeql-action/analyze@v2
|
|
40
53
|
with:
|
|
41
|
-
category:
|
|
54
|
+
category: '/language:${{ matrix.language }}'
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
name: Publish Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
push:
|
|
6
|
+
tags:
|
|
7
|
+
- 'v[0-9]+.[0-9]+.[0-9]+' # Release versions
|
|
8
|
+
- '[0-9]+.[0-9]+.[0-9]+'
|
|
9
|
+
- 'v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+' # Beta versions
|
|
10
|
+
- '[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+'
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
packages: write
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
publish-npm:
|
|
18
|
+
name: 'NPM'
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
environment: release
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout code
|
|
24
|
+
uses: actions/checkout@v4
|
|
25
|
+
|
|
26
|
+
- name: Setup Node
|
|
27
|
+
uses: actions/setup-node@v3
|
|
28
|
+
with:
|
|
29
|
+
node-version: 18
|
|
30
|
+
cache: 'npm'
|
|
31
|
+
registry-url: 'https://registry.npmjs.org'
|
|
32
|
+
|
|
33
|
+
- name: Install dependencies
|
|
34
|
+
run: npm ci
|
|
35
|
+
|
|
36
|
+
- name: Build release
|
|
37
|
+
run: rm -rf dist && rm -rf build && npm run dist && npm run build
|
|
38
|
+
|
|
39
|
+
- name: Publish release to NPM
|
|
40
|
+
run: npm publish
|
|
41
|
+
env:
|
|
42
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
43
|
+
|
|
44
|
+
- name: Publish release to CDN
|
|
45
|
+
run: ccu --trace
|
|
46
|
+
|
|
47
|
+
publish-gh:
|
|
48
|
+
needs: publish-npm # Don't publish to GitHub Packages until NPM is done
|
|
49
|
+
|
|
50
|
+
name: 'GitHub Packages'
|
|
51
|
+
runs-on: ubuntu-latest
|
|
52
|
+
environment: release
|
|
53
|
+
|
|
54
|
+
steps:
|
|
55
|
+
- name: Checkout code
|
|
56
|
+
uses: actions/checkout@v4
|
|
57
|
+
|
|
58
|
+
- name: Setup Node
|
|
59
|
+
uses: actions/setup-node@v3
|
|
60
|
+
with:
|
|
61
|
+
node-version: 18
|
|
62
|
+
registry-url: 'https://npm.pkg.github.com'
|
|
63
|
+
cache: 'npm'
|
|
64
|
+
|
|
65
|
+
- name: Install dependencies
|
|
66
|
+
run: npm ci
|
|
67
|
+
|
|
68
|
+
- name: Build release
|
|
69
|
+
run: rm -rf dist && rm -rf build && npm run dist && npm run build
|
|
70
|
+
|
|
71
|
+
- name: Publish release to GitHub Packages
|
|
72
|
+
run: npm publish
|
|
73
|
+
env:
|
|
74
|
+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -1,24 +1,48 @@
|
|
|
1
1
|
name: Semgrep
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
merge_group:
|
|
5
|
+
pull_request_target:
|
|
6
|
+
types:
|
|
7
|
+
- opened
|
|
8
|
+
- synchronize
|
|
6
9
|
push:
|
|
7
|
-
branches:
|
|
8
|
-
|
|
10
|
+
branches:
|
|
11
|
+
- master
|
|
9
12
|
schedule:
|
|
10
13
|
- cron: '30 0 1,15 * *'
|
|
11
14
|
|
|
15
|
+
permissions:
|
|
16
|
+
contents: read
|
|
17
|
+
|
|
18
|
+
concurrency:
|
|
19
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
20
|
+
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
|
|
21
|
+
|
|
12
22
|
jobs:
|
|
13
|
-
|
|
14
|
-
name:
|
|
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' }}
|
|
15
26
|
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- run: true
|
|
29
|
+
|
|
30
|
+
run:
|
|
31
|
+
needs: authorize # Require approval before running on forked pull requests
|
|
32
|
+
|
|
33
|
+
name: Check for Vulnerabilities
|
|
34
|
+
runs-on: ubuntu-latest
|
|
35
|
+
|
|
16
36
|
container:
|
|
17
37
|
image: returntocorp/semgrep
|
|
18
|
-
|
|
19
|
-
if: (github.actor != 'dependabot[bot]')
|
|
38
|
+
|
|
20
39
|
steps:
|
|
21
|
-
-
|
|
40
|
+
- if: github.actor == 'dependabot[bot]' || github.event_name == 'merge_group'
|
|
41
|
+
run: exit 0 # Skip unnecessary test runs for dependabot and merge queues. Artifically flag as successful, as this is a required check for branch protection.
|
|
42
|
+
|
|
43
|
+
- uses: actions/checkout@v4
|
|
44
|
+
with:
|
|
45
|
+
ref: ${{ github.event.pull_request.head.sha || github.ref }}
|
|
22
46
|
|
|
23
47
|
- run: semgrep ci
|
|
24
48
|
env:
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: Snyk
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
merge_group:
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
pull_request_target:
|
|
7
|
+
types:
|
|
8
|
+
- opened
|
|
9
|
+
- synchronize
|
|
10
|
+
push:
|
|
11
|
+
branches:
|
|
12
|
+
- master
|
|
13
|
+
schedule:
|
|
14
|
+
- cron: '30 0 1,15 * *'
|
|
15
|
+
|
|
16
|
+
permissions:
|
|
17
|
+
contents: read
|
|
18
|
+
|
|
19
|
+
concurrency:
|
|
20
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
21
|
+
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
|
|
22
|
+
|
|
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
|
+
check:
|
|
32
|
+
needs: authorize
|
|
33
|
+
|
|
34
|
+
name: Check for Vulnerabilities
|
|
35
|
+
runs-on: ubuntu-latest
|
|
36
|
+
|
|
37
|
+
steps:
|
|
38
|
+
- if: github.actor == 'dependabot[bot]' || github.event_name == 'merge_group'
|
|
39
|
+
run: exit 0 # Skip unnecessary test runs for dependabot and merge queues. Artifically flag as successful, as this is a required check for branch protection.
|
|
40
|
+
|
|
41
|
+
- uses: actions/checkout@v4
|
|
42
|
+
with:
|
|
43
|
+
ref: ${{ github.event.pull_request.head.sha || github.ref }}
|
|
44
|
+
|
|
45
|
+
- uses: snyk/actions/php@b98d498629f1c368650224d6d212bf7dfa89e4bf # pin@0.4.0
|
|
46
|
+
env:
|
|
47
|
+
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
name: Build and Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
merge_group:
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
pull_request_target:
|
|
7
|
+
types:
|
|
8
|
+
- opened
|
|
9
|
+
- synchronize
|
|
10
|
+
push:
|
|
11
|
+
branches:
|
|
12
|
+
- master
|
|
13
|
+
|
|
14
|
+
permissions:
|
|
15
|
+
contents: read
|
|
16
|
+
|
|
17
|
+
concurrency:
|
|
18
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
19
|
+
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
|
|
20
|
+
|
|
21
|
+
jobs:
|
|
22
|
+
authorize:
|
|
23
|
+
name: Authorize
|
|
24
|
+
environment: ${{ github.actor != 'dependabot[bot]' && github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository && 'external' || 'internal' }}
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
steps:
|
|
27
|
+
- run: true
|
|
28
|
+
|
|
29
|
+
run:
|
|
30
|
+
needs: authorize # Require approval before running on forked pull requests
|
|
31
|
+
|
|
32
|
+
name: Build Package
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
|
|
35
|
+
steps:
|
|
36
|
+
- name: Checkout code
|
|
37
|
+
uses: actions/checkout@v4
|
|
38
|
+
with:
|
|
39
|
+
ref: ${{ github.event.pull_request.head.sha || github.ref }}
|
|
40
|
+
|
|
41
|
+
- name: Setup Node
|
|
42
|
+
uses: actions/setup-node@v3
|
|
43
|
+
with:
|
|
44
|
+
node-version: 18
|
|
45
|
+
cache: 'npm'
|
|
46
|
+
|
|
47
|
+
- name: Install dependencies
|
|
48
|
+
run: npm ci
|
|
49
|
+
|
|
50
|
+
- name: Build package
|
|
51
|
+
run: npm run build
|
|
52
|
+
|
|
53
|
+
- name: Run `es-check`
|
|
54
|
+
run: npm run test:es-check
|
|
55
|
+
|
|
56
|
+
- name: Run `i18n:validate`
|
|
57
|
+
run: npm run i18n:validate
|
|
58
|
+
|
|
59
|
+
- name: Run Jest unit tests
|
|
60
|
+
run: npm run test
|
|
61
|
+
|
|
62
|
+
- name: Run Karma end-to-end tests
|
|
63
|
+
run: npm run test:e2e
|
|
64
|
+
|
|
65
|
+
- name: Upload coverage
|
|
66
|
+
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # pin@3.1.4
|
package/.semgrepignore
ADDED
package/.shiprc
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [v12.2.0](https://github.com/auth0/lock/tree/v12.2.0) (2023-09-15)
|
|
4
|
+
[Full Changelog](https://github.com/auth0/lock/compare/v12.1.0...v12.2.0)
|
|
5
|
+
|
|
6
|
+
**Added**
|
|
7
|
+
- Wrap CheckBoxInput in InputWrapper to provide visual feedback [\#2423](https://github.com/auth0/lock/pull/2423) ([ewanharris](https://github.com/ewanharris))
|
|
8
|
+
|
|
9
|
+
## [v12.1.0](https://github.com/auth0/lock/tree/v12.1.0) (2023-07-17)
|
|
10
|
+
[Full Changelog](https://github.com/auth0/lock/compare/v12.0.2...v12.1.0)
|
|
11
|
+
|
|
12
|
+
**Added**
|
|
13
|
+
- Added support for hCaptcha and Friendly Captcha [\#2387](https://github.com/auth0/lock/pull/2387) ([DominickBattistini](https://github.com/DominickBattistini))
|
|
14
|
+
|
|
15
|
+
**Changed**
|
|
16
|
+
- WelcomeMessage header text marked as heading [\#2373](https://github.com/auth0/lock/pull/2373) ([piwysocki](https://github.com/piwysocki))
|
|
17
|
+
|
|
3
18
|
## [v12.0.2](https://github.com/auth0/lock/tree/v12.0.2) (2023-02-10)
|
|
4
19
|
[Full Changelog](https://github.com/auth0/lock/compare/v12.0.1...v12.0.2)
|
|
5
20
|
|
package/DEVELOPMENT.md
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Requires:
|
|
4
4
|
|
|
5
|
-
- [Yarn](https://yarnpkg.com/)
|
|
6
5
|
- [Node LTS](https://nodejs.org)
|
|
7
6
|
|
|
8
7
|
## Building
|
|
@@ -12,7 +11,7 @@ The SDK uses [Webpack](https://webpack.js.org/) to compile all JavaScript assets
|
|
|
12
11
|
To perform a build, use the `build` script:
|
|
13
12
|
|
|
14
13
|
```
|
|
15
|
-
|
|
14
|
+
npm run build
|
|
16
15
|
```
|
|
17
16
|
|
|
18
17
|
## Running Tests
|
|
@@ -20,23 +19,23 @@ yarn build
|
|
|
20
19
|
Unit tests can be executed using [Jest](https://jestjs.io/) by issuing the following command:
|
|
21
20
|
|
|
22
21
|
```
|
|
23
|
-
|
|
22
|
+
npm run test
|
|
24
23
|
```
|
|
25
24
|
|
|
26
25
|
To interactively perform tests using Jest's `watch` mode, use:
|
|
27
26
|
|
|
28
27
|
```
|
|
29
|
-
|
|
28
|
+
npm run test:watch
|
|
30
29
|
```
|
|
31
30
|
|
|
32
31
|
End-to-end tests can be executed locally using [Karma](https://karma-runner.github.io/), in both watch and CLI mode:
|
|
33
32
|
|
|
34
33
|
```
|
|
35
34
|
# CLI mode using Chrome Headless browser:
|
|
36
|
-
|
|
35
|
+
npm run test:e2e
|
|
37
36
|
|
|
38
37
|
# Watch mode using Chrome desktop browser, in watch mode:
|
|
39
|
-
|
|
38
|
+
npm run test:e2e:watch
|
|
40
39
|
```
|
|
41
40
|
|
|
42
41
|
## The SDK Playground
|
|
@@ -44,7 +43,7 @@ yarn test:e2e:watch
|
|
|
44
43
|
To test the SDK manually and play around with the various options and features, you can invoke the Playground by using:
|
|
45
44
|
|
|
46
45
|
```
|
|
47
|
-
|
|
46
|
+
npm start
|
|
48
47
|
```
|
|
49
48
|
|
|
50
49
|
Next, open `https://localhost:3000/support`, which will display a simple web app that allows you to interact with Auth0 to test functionality. The HTML template in `support/index.html` can be modified to test various different pieces of functionality.
|
|
@@ -59,7 +58,7 @@ You can then use another SPA app to log in using this tenant that has this custo
|
|
|
59
58
|
|
|
60
59
|
You may need to run Lock using HTTPS with a valid certificate if you want to do this testing in Safari, as Safari will not load mixed content pages, and will also not load HTTPS with untrusted testing certificates.
|
|
61
60
|
|
|
62
|
-
Lock can already support HTTPS just by running `
|
|
61
|
+
Lock can already support HTTPS just by running `npm start` if you have `mkcert` installed.
|
|
63
62
|
|
|
64
63
|
To install `mkcert`:
|
|
65
64
|
|
|
@@ -71,9 +70,9 @@ brew install nss # if you use Firefox
|
|
|
71
70
|
mkcert install
|
|
72
71
|
|
|
73
72
|
# Serve lock
|
|
74
|
-
|
|
73
|
+
npm start
|
|
75
74
|
```
|
|
76
75
|
|
|
77
76
|
Once Lock has started, use another SPA app to log in using a tenant with the template customized as above.
|
|
78
77
|
|
|
79
|
-
If you don't have `mkcert`, HTTPS will still be used but it will be untrusted.
|
|
78
|
+
If you don't have `mkcert`, HTTPS will still be used but it will be untrusted.
|
package/EXAMPLES.md
CHANGED
|
@@ -117,7 +117,7 @@ Lock will emit events during its lifecycle.
|
|
|
117
117
|
|
|
118
118
|
Displays the widget, allowing you to override some options.
|
|
119
119
|
|
|
120
|
-
- **options {Object}**: Allows you to customize some aspect of the dialog's appearance and behavior. The options allowed in here are a subset of the options allowed in the constructor and will override them: `allowedConnections`, `auth.params`, `allowLogin`, `allowSignUp`, `allowForgotPassword`, `initialScreen`, `rememberLastLogin`,
|
|
120
|
+
- **options {Object}**: Allows you to customize some aspect of the dialog's appearance and behavior. The options allowed in here are a subset of the options allowed in the constructor and will override them: `allowedConnections`, `auth.params`, `allowLogin`, `allowSignUp`, `allowForgotPassword`, `initialScreen`, `rememberLastLogin`, and `languageDictionary`. See [below](#customization) for the details. Keep in mind that `auth.params` will be fully replaced and not merged.
|
|
121
121
|
|
|
122
122
|
#### Example
|
|
123
123
|
|
|
@@ -132,6 +132,22 @@ lock.show({ allowedConnections: ['twitter', 'facebook'] });
|
|
|
132
132
|
lock.show({ auth: { params: { state: 'auth_state' } } });
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
+
#### Flash message
|
|
136
|
+
|
|
137
|
+
Configuration for `flashMessage` can be specified when using `show` to display a configurable message when Lock is opened. It contains the following properties:
|
|
138
|
+
|
|
139
|
+
- **type {String}**: The message type, it should be `error` or `success`.
|
|
140
|
+
- **text {String}**: The text to show.
|
|
141
|
+
|
|
142
|
+
```js
|
|
143
|
+
lock.show({
|
|
144
|
+
flashMessage: {
|
|
145
|
+
type: 'error',
|
|
146
|
+
text: 'This is an error message'
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
135
151
|
### resumeAuth(hash, callback)
|
|
136
152
|
|
|
137
153
|
If you set the [auth.autoParseHash](#authentication-options) option to `false`, you'll need to call this method to complete the authentication flow. This method is useful when you're using a client-side router that uses a `#` to handle URLs (angular2 with `useHash` or react-router with `hashHistory`).
|
|
@@ -210,9 +226,6 @@ The appearance of the widget and the mechanics of authentication can be customiz
|
|
|
210
226
|
- **closable {Boolean}**: Determines whether or not the Lock can be closed. When a `container` option is provided its value is always `false`, otherwise it defaults to `true`.
|
|
211
227
|
- **popupOptions {Object}**: Allows you to customize the location of the popup in the screen. Any [position and size feature](https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Position_and_size_features) allowed by `window.open` is accepted. Defaults to `{}`.
|
|
212
228
|
- **rememberLastLogin {Boolean}**: Determines whether or not to show a screen that allows you to quickly log in with the account you used the last time when the `initialScreen` option is set to `"login"` (the default). Defaults to `true`.
|
|
213
|
-
- **flashMessage {Object}**: Shows an `error` or `success` flash message when Lock is shown.
|
|
214
|
-
- **type {String}**: The message type, it should be `error` or `success`.
|
|
215
|
-
- **text {String}**: The text to show.
|
|
216
229
|
- **allowAutocomplete {Boolean}**: Determines whether or not the email or username inputs will allow autocomplete (`<input autocomplete />`). Defaults to `false`.
|
|
217
230
|
- **scrollGlobalMessagesIntoView {Boolean}**: Determines whether or not a globalMessage should be scrolled into the user's viewport. Defaults to `true`.
|
|
218
231
|
- **allowShowPassword {Boolean}**: Determines whether or not add a checkbox to show the password when typing it. Defaults to `false`.
|
|
@@ -648,4 +661,4 @@ var lock = new Auth0Lock(clientId, domain, options);
|
|
|
648
661
|
lock.show();
|
|
649
662
|
```
|
|
650
663
|
|
|
651
|
-
More information can be found in [Auth0's documentation](https://auth0.com/docs/libraries/lock/v11/authentication-modes#popup-mode).
|
|
664
|
+
More information can be found in [Auth0's documentation](https://auth0.com/docs/libraries/lock/v11/authentication-modes#popup-mode).
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|

|
|
3
3
|

|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
|
-
](https://github.com/auth0/lock/actions/workflows/test.yml)
|
|
6
6
|
|
|
7
7
|
> :warning: Lock is built using React 18 from v12 onwards. Getting issues? Please [submit a bug report](https://github.com/auth0/lock/issues/new?assignees=&labels=bug+report,v12&template=report_a_bug.md&title=).
|
|
8
8
|
|
|
@@ -30,7 +30,7 @@ From CDN
|
|
|
30
30
|
|
|
31
31
|
```html
|
|
32
32
|
<!-- Latest patch release (recommended for production) -->
|
|
33
|
-
<script src="https://cdn.auth0.com/js/lock/12.0
|
|
33
|
+
<script src="https://cdn.auth0.com/js/lock/12.2.0/lock.min.js"></script>
|
|
34
34
|
```
|
|
35
35
|
### Configure Auth0
|
|
36
36
|
|
|
@@ -39,7 +39,6 @@ Create a **Single Page Application** in the [Auth0 Dashboard](https://manage.aut
|
|
|
39
39
|
> **If you're using an existing application**, verify that you have configured the following settings in your Single Page Application:
|
|
40
40
|
>
|
|
41
41
|
> - Click on the "Settings" tab of your application's page.
|
|
42
|
-
> - Ensure that "Token Endpoint Authentication Method" under "Application Properties" is set to "None"
|
|
43
42
|
> - Scroll down and click on the "Show Advanced Settings" link.
|
|
44
43
|
> - Under "Advanced Settings", click on the "OAuth" tab.
|
|
45
44
|
> - Ensure that "JsonWebToken Signature Algorithm" is set to `RS256` and that "OIDC Conformant" is enabled.
|