Commit Graph

543 Commits (923df2cb46712b116f317256bad1c63c2880544a)

Author SHA1 Message Date
renovate[bot] 8e155328b4
build(deps): update dependency @types/react-router-dom to v5.1.9 (#2377)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-15 11:24:41 +10:00
renovate[bot] dd8199d127
build(deps): update dependency eslint-import-resolver-typescript to v2.5.0 (#2370)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-14 08:35:53 +10:00
renovate[bot] 763938a0b7
build(deps): update dependency @testing-library/react to v12.1.0 (#2368) 2021-09-11 22:47:28 +10:00
renovate[bot] a091b341da
build(deps): update dependency @craco/craco to v6.3.0 (#2366)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-11 16:00:13 +10:00
renovate[bot] 9cff1bb133
build(deps): update dependency typescript to v4.4.3 (#2364) 2021-09-11 11:46:23 +10:00
renovate[bot] b770939983
build(deps): update dependency prettier to v2.4.0 (#2357)
* build(deps): update dependency prettier to v2.4.0

* fix(web): jsxbracketsameline -> bracketsameline

Prettier 2.4 has renamed the jsxBracketSameLine option to bracketSameLine.

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-09-10 08:27:50 +10:00
renovate[bot] dca3ba0cfb
build(deps): pin dependency husky to 7.0.2 (#2356)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-09 13:44:43 +10:00
renovate[bot] dedd44ea0d
build(deps): pin dependencies (#2355)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-09 13:30:00 +10:00
Amir Zarrinkafsh cc765115b2
ci: add husky with pre-commit and commit-msg hooks (#2352)
* ci: add husky with pre-commit and commit-msg hooks

This change includes two new hooks as part of our GitHub workflow with husky:

* `pre-commit`: Performs linting with golangci-lint and eslint/prettier
* `commit-msg`: Ensures that the commit messages conform to our guidelines and will error and provide context to a user when they do not.

The `prepare` command which has been included is executed each time a `yarn install` is executed.

* ci: extend @commitlint/config-conventional configuration

* fix: lint all dot js files
2021-09-09 12:22:11 +10:00
renovate[bot] b6cc98b5cb
build(deps): update dependency axios to v0.21.4 (#2347)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-07 10:44:49 +10:00
renovate[bot] 612f6d5674
build(deps): update dependency @types/react to v17.0.20 (#2344)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-05 20:17:18 +10:00
renovate[bot] 05e549941b
build(deps): update dependency axios to v0.21.3 (#2343)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-05 09:17:26 +10:00
renovate[bot] 1960a24124
build(deps): update dependency axios to v0.21.2 (#2342)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-05 00:13:34 +10:00
renovate[bot] 5f2edf3d42
build(deps): update dependency typescript to v4.4.2 (#2321)
* build(deps): update dependency typescript to v4.4.2

* fix(web): cast try catch err type to error

Typescript 4.x changes the default behaviour of try catch and its err type from `any` to [`unknown`](https://github.com/microsoft/TypeScript/pull/41013).

This change ensures that where we rely on said variable it is cast accordingly as an `Error`.

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-09-04 23:27:11 +10:00
Amir Zarrinkafsh 6b7b08d800
refactor(web): replace incorrect use of usecallback (#2308)
* refactor(web): replace incorrect use of usecallback

Replaces incorrect usage of useCallback with useRef.

* refactor(web): onsignin...ref -> onsignin...callback

* fix(web): fix lint errors
2021-09-04 22:31:24 +10:00
renovate[bot] 622f25cab1
build(deps): update dependency react-router-dom to v5.3.0 (#2339)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-04 13:47:03 +10:00
renovate[bot] 8f38fa97a5
build(deps): update dependency eslint-plugin-prettier to v4 (#2332)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-31 10:23:06 +10:00
renovate[bot] 0e7170dd02
build(deps): update dependency react-router-dom to v5.2.1 (#2328) 2021-08-28 11:50:18 +10:00
Amir Zarrinkafsh 0c5c85cbe4
refactor(web): eslint glob pattern (#2309)
The current eslint glob pattern is not Windows friendly, this change works for both Linux and Windows.
2021-08-22 21:16:19 +10:00
renovate[bot] af9274a9c6
build(deps): update dependency eslint-plugin-prettier to v3.4.1 (#2307)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-21 11:20:18 +10:00
renovate[bot] 7d105c6597
build(deps): update dependency @types/react to v17.0.19 (#2300) 2021-08-19 21:49:36 +10:00
renovate[bot] 401b732a00
build(deps): update dependency @types/react to v17.0.18 (#2287)
* build(deps): update dependency @types/react to v17.0.18

* fix(web): fix broken yarn.lock

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-08-15 15:00:27 +10:00
renovate[bot] cdda12a2bf
build(deps): update dependency @types/react to v17.0.17 (#2283)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-11 14:05:46 +10:00
renovate[bot] 4f515328d6
build(deps): update dependency @types/react to v17.0.16 (#2259)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-06 15:14:00 +10:00
renovate[bot] cbedf79f86
build(deps): update font awesome (#2238)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-05 06:00:27 +10:00
renovate[bot] 02b6d5dcae
build(deps): update dependency @fortawesome/react-fontawesome to v0.1.15 (#2232)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-04 06:27:29 +10:00
renovate[bot] 3d656eb5db
build(deps): pin dependencies (#2228)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-03 16:54:59 +10:00
Amir Zarrinkafsh 1b06e46f71
test(web): drop enzyme in favor of react-testing-library (#2224)
* test(web): drop enzyme in favor of react-testing-library

Enzyme is falling behind in maintenance, it is currently maintained by one primary developer and still does [not support React 17](https://github.com/enzymejs/enzyme/pull/2430) despite it being released in October 2020.

[react-testing-library (RTL)](https://testing-library.com/docs) is [recommended by Facebook](https://reactjs.org/docs/test-utils.html#overview) and encourages writing tests that avoid testing implementation details.

* build(deps): update react monorepo to v17 (major)

* build(deps): remove @types/{enzyme,jest}
2021-08-03 16:25:13 +10:00
Clément Michaud bc983ce9f5
fix: user is now redirected when authenticated (#2082)
* fix(handlers,web): user is now redirected when authenticated

Fix: #1788

* remove dead code and fix ci issues

* fix infinite loop in frontend

* fix issue with integration tests

* handle bot recommendation

* fix integration test & add dot to comment

* fix last integration test

* Update api/openapi.yml

Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>

* Update web/src/services/SafeRedirection.ts

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>

* Update web/src/services/SafeRedirection.ts

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>

* Update api/openapi.yml

* Update openapi.yml

* refactor: valid -> safe

* refactor: adjust merge conflicts

* Apply suggestions from code review

Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>

* fix: adjust test return messaging

Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-08-02 16:15:38 +10:00
renovate[bot] 45f683b6cd
build(deps): update dependency @material-ui/core to v4.12.3 (#2215)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-30 22:28:36 +10:00
James Elliott e77f79853a
fix(web): move reset password to after sign in (#2205)
This is for a better user experience, specifically it makes it so when users tab through the elements in the login form they are selected in a logical order.

Fixes #2204
2021-07-30 09:29:57 +10:00
renovate[bot] ae17c88908
build(deps): update dependency @types/react to v17.0.15 (#2201)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-25 07:52:21 +10:00
renovate[bot] 7a4779b08e
build(deps): update dependency @material-ui/core to v4.12.2 (#2190)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2021-07-20 09:18:17 +10:00
renovate[bot] 4d7a6e9678
build(deps): update dependency @types/chai to v4.2.21 (#2167)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-09 07:16:18 +10:00
renovate[bot] eae8effe7e
build(deps): update dependency @types/qrcode.react to v1.0.2 (#2163)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-08 10:22:58 +10:00
renovate[bot] d68fdaa9fa
build(deps): update dependency @material-ui/core to v4.12.1 (#2162)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-08 09:56:16 +10:00
renovate[bot] 6063ffe226
build(deps): update dependency @types/react to v17.0.14 (#2164)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-08 09:26:46 +10:00
renovate[bot] 9059005d0c
build(deps): update dependency @types/react-dom to v17.0.9 (#2165)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-08 08:11:13 +10:00
renovate[bot] f081c6fe82
build(deps): update dependency @types/react-router-dom to v5.1.8 (#2166)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-08 07:39:03 +10:00
renovate[bot] 6a6ee18b9b
build(deps): update dependency @types/jest to v26.0.24 (#2160)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-07 12:16:15 +10:00
renovate[bot] 7d6097942c
build(deps): update dependency @types/enzyme to v3.10.9 (#2159)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-07 10:58:49 +10:00
renovate[bot] 4c2932eb71
build(deps): update dependency @types/chai to v4.2.20 (#2158)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-07 09:38:35 +10:00
renovate[bot] e4a769f69c
build(deps): update dependency @material-ui/core to v4.12.0 (#2157)
* build(deps): update dependency @material-ui/core to v4.12.0

* fix(web): adjust deprecations

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-07-07 09:10:31 +10:00
renovate[bot] 2a98e47299
build(deps): update dependency @craco/craco to v6.2.0 (#2147)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-05 07:18:28 +10:00
renovate[bot] 6b5028af49
build(deps): update dependency @types/react to v17.0.13 (#2135)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-02 07:05:59 +10:00
renovate[bot] a6e344f504
build(deps): update dependency @types/react to v17.0.12 (#2134)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-01 19:30:30 +10:00
renovate[bot] 411c98f68d
build(deps): update dependency typescript to v4.3.5 (#2130)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-01 11:21:38 +10:00
dakriy 851396c972
feat(web): add autocomplete fields to first factor and reset password pages (#2125) 2021-06-30 19:04:55 +02:00
renovate[bot] b1551e794b
build(deps): update dependency prettier to v2.3.2 (#2122)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-27 14:33:54 +10:00
Amir Zarrinkafsh 756aee507f
refactor: cra build path (#2117)
* refactor: cra build path

The `authelia-scripts` helper currently performs steps to move files around in different stages of development and CI/CD.

We now utilise the `BUILD_PATH` environment variable to adjust the output directory for the web frontend from the default of `./web/build/` simplifying the helper somewhat.

Additionally we no longer build the Go binary in the unit test stage of our CI/CD as this is not necessary.

* fix: build output directory in coverage dockerfile
2021-06-25 21:53:20 +10:00
renovate[bot] 85ed04e429
build(deps): update dependency react-otp-input to v2.4.0 (#2115)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-24 21:22:30 +10:00
renovate[bot] 92427e2c85
build(deps): update dependency query-string to v7.0.1 (#2109)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-22 06:44:17 +10:00
Amir Zarrinkafsh 89a6b24845
refactor(web): move linting and testing deps to dev deps (#2105)
* refactor(web): move eslint and prettier to dev deps

* refactor(web): move chai, enzyme, jest and react-test-renderer
2021-06-21 09:39:17 +10:00
renovate[bot] 709f06e950
build(deps): update dependency @types/chai to v4.2.19 (#2104)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-20 13:15:44 +10:00
renovate[bot] 645e39b7af
build(deps): pin dependencies (#2102)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-19 11:21:59 +02:00
Amir Zarrinkafsh 3494353641
refactor(web): use absolute imports with aliases (#2100)
* refactor(web): use absolute imports with aliases

Refactors all of the TS/JS frontend to utilise absolute imports along with import aliases.
Each of the paths within `src` are represented with their own alias:

* @assets
* @components
* @constants (new)
* @hooks
* @layouts
* @models
* @services
* @themes
* @utils
* @views

`Routes.ts` and `constant.ts` have been relocated to the constants directory for consistency.
2021-06-19 10:20:43 +02:00
renovate[bot] babdbb1560
build(deps): update dependency @types/react-dom to v17.0.8 (#2097)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 18:59:31 +10:00
renovate[bot] 55d87f99e4
build(deps): update dependency typescript to v4.3.4 (#2093)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 07:34:23 +10:00
Alex Gustafsson 150116a172
feat(web): implement automatic theme switch for light/dark (#2046)
* Implement an automatic theme

The "auto" theme will automatically switch between "dark" and "light"
depending on user preference. This allows for automatic dark mode.

* fix(configuration): allow the "auto" theme when validating

The new theme "auto" was not allowed to be used in a configuration file.

* docs: clarify what critera controls the automatic theme

How the "auto" theme functioned was unclear.

* docs: typeset themes as code

* fix(web): apply useEffector to media query watch

* docs: add technical details

* fix(configuration): resolve merge conflicts
2021-06-17 16:42:03 +10:00
renovate[bot] 78a9faacfe
build(deps): update dependency typescript to v4.3.3 (#2088)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-17 10:19:45 +10:00
Clément Michaud 7b1f186753
fix(web): add white padding around qrcode image (#2081)
* fix(web): add white padding around qrcode image

Some qrcode readers are struggling to decode the qrcode because there is no clear border between the qrcode image and the page background in dark mode. This fix add a white padding so that the border is now obvious.

Fixes #1777.
2021-06-14 12:38:39 +10:00
renovate[bot] 983054f2b5
build(deps): update dependency @types/react to v17.0.11 (#2076)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-10 08:30:56 +10:00
renovate[bot] ca42d627be
build(deps): update dependency @types/react-dom to v17.0.7 (#2075)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-09 17:52:04 +10:00
renovate[bot] 3d66879da5
build(deps): update dependency @types/react to v17.0.10 (#2074)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-09 17:21:22 +10:00
Amir Zarrinkafsh 0bc92404bb
ci: update tsconfig and refactor eslintrc (#2069) 2021-06-08 10:14:51 +10:00
renovate[bot] b4b69295ad
build(deps): update dependency prettier to v2.3.1 (#2062)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-06 12:10:00 +10:00
dependabot[bot] a77ad1d650
build(deps): bump ws from 6.2.1 to 6.2.2 in /web (#2063)
Bumps [ws](https://github.com/websockets/ws) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/commits)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2021-06-06 09:33:05 +10:00
renovate[bot] baf0e764f9
build(deps): update dependency @types/react-dom to v17.0.6 (#2056)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-02 13:23:21 +10:00
renovate[bot] 36d3695967
build(deps): update dependency @types/react to v17.0.9 (#2055)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-02 12:55:21 +10:00
dependabot[bot] 03a1b004cf
build(deps): bump dns-packet from 1.3.1 to 1.3.4 in /web (#2040)
Bumps [dns-packet](https://github.com/mafintosh/dns-packet) from 1.3.1 to 1.3.4.
- [Release notes](https://github.com/mafintosh/dns-packet/releases)
- [Changelog](https://github.com/mafintosh/dns-packet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mafintosh/dns-packet/compare/v1.3.1...v1.3.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-05-31 11:52:49 +10:00
renovate[bot] 1c510edbf3
build(deps): update dependency react-otp-input to v2.3.1 (#2043)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-31 10:04:20 +10:00
renovate[bot] e82ca61c7a
build(deps): update dependency typescript to v4.3.2 (#2034)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-27 08:26:48 +10:00
renovate[bot] 263e6f1dcf
build(deps): update dependency @types/react to v17.0.8 (#2033)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-26 15:50:04 +10:00
renovate[bot] b07c465ffb
build(deps): update dependency @types/react to v17.0.7 (#2030)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-26 07:17:19 +10:00
renovate[bot] 14780c7b45
build(deps): update dependency @types/node to v15.6.0 (#2017)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-05-24 15:34:53 +10:00
renovate[bot] 40a26c96b6
build(deps): update dependency @types/react to v17.0.6 (#2009)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-20 13:08:51 +10:00
renovate[bot] 208106249a
build(deps): update dependency @types/node to v15.3.1 (#2010)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-20 12:48:08 +10:00
renovate[bot] d6f3b92201
build(deps): update dependency @types/node to v15.3.0 (#2003) 2021-05-15 10:15:43 +10:00
renovate[bot] d7d4266b6d
build(deps): update dependency eslint-formatter-rdjson to v1.0.5 (#2002)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-15 07:19:40 +10:00
renovate[bot] 3ffdf19a7e
build(deps): update dependency @types/react-dom to v17.0.5 (#2001)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-14 07:18:17 +10:00
renovate[bot] 132d1258fe
build(deps): update dependency @types/node to v15.0.3 (#2000)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-13 09:25:30 +10:00
dependabot[bot] 6769694b17
build(deps): bump hosted-git-info from 2.8.8 to 2.8.9 in /web (#1999)
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 21:54:20 +10:00
renovate[bot] 2c8341974d
build(deps): update dependency @types/react-dom to v17.0.4 (#1997)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-11 10:39:06 +10:00
renovate[bot] 4cbb3826d7
build(deps): update dependency prettier to v2.3.0 (#1995)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-10 13:26:05 +10:00
dependabot[bot] 3ad43652d1
build(deps): bump url-parse from 1.4.7 to 1.5.1 in /web (#1992)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.4.7 to 1.5.1.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.4.7...1.5.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-09 11:43:50 +02:00
renovate[bot] fac13f3485
build(deps): update dependency @types/chai to v4.2.18 (#1990)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-08 13:14:27 +10:00
renovate[bot] ea76455ff3
build(deps): update dependency @types/node to v15.0.2 (#1974)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-05 11:24:31 +10:00
renovate[bot] 3c4b320096
build(deps): update dependency @types/react to v17.0.5 (#1970)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-05 09:32:40 +10:00
James Elliott ddea31193b
feature(oidc): add support for OpenID Connect
OpenID connect has become a standard when it comes to authentication and
in order to fix a security concern around forwarding authentication and authorization information
it has been decided to add support for it.

This feature is in beta version and only enabled when there is a configuration for it.
Before enabling it in production, please consider that it's in beta with potential bugs and that there
are several production critical features still missing such as all OIDC related data is stored in
configuration or memory. This means you are potentially going to experience issues with HA
deployments, or when restarting a single instance specifically related to OIDC.

We are still working on adding the remaining set of features before making it GA as soon as possible.

Related to #189

Co-authored-by: Clement Michaud <clement.michaud34@gmail.com>
2021-05-05 00:15:36 +02:00
renovate[bot] 48d8e1e541
build(deps): update dependency eslint-formatter-rdjson to v1.0.4 (#1969)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-04 09:46:06 +02:00
renovate[bot] 181f65f3c9
build(deps): update dependency @types/node to v15 (#1952)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-29 10:49:51 +10:00
renovate[bot] a4e7a794b8
build(deps): update dependency @material-ui/core to v4.11.4 (#1954)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-28 10:03:50 +02:00
renovate[bot] b2ca9b7805
build(deps): update dependency @craco/craco to v6.1.2 (#1955)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-28 09:19:10 +02:00
renovate[bot] 06a2fb8026
build(deps): update dependency @types/node to v14.14.43 (#1951)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-28 15:49:25 +10:00
renovate[bot] d6a767745b
build(deps): update dependency @types/chai to v4.2.17 (#1950)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-28 13:53:36 +10:00
renovate[bot] e7ce5c1ff7
build(deps): update dependency @types/jest to v26.0.23 (#1949)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-28 09:29:00 +10:00
renovate[bot] cf2687bb57
build(deps): update dependency @types/react to v17.0.4 (#1948)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-27 16:03:53 +10:00
renovate[bot] 3593c94511
build(deps): update dependency eslint-config-prettier to v8.3.0 (#1946)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-25 09:43:37 +02:00
renovate[bot] d321ae9be1
build(deps): update dependency @types/classnames to v2.3.0 (#1937)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-23 10:57:16 +10:00
dependabot[bot] 823be5d179
build(deps): bump ssri from 6.0.1 to 6.0.2 in /web (#1933)
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-20 09:58:58 +10:00
renovate[bot] 168dbf7265
build(deps): update dependency @types/node to v14.14.41 (#1923)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-15 21:42:57 +02:00
renovate[bot] 605fba0422
build(deps): update dependency eslint-plugin-prettier to v3.4.0 (#1922)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-15 14:27:16 +10:00
renovate[bot] f3e35baa29
build(deps): update dependency @types/node to v14.14.39 (#1920)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-15 14:06:07 +10:00
renovate[bot] 9fad66596a
build(deps): update dependency eslint-config-prettier to v8.2.0 (#1911)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-14 11:28:07 +10:00
James Elliott f0cb75e1e1
fix(handlers): logout redirection validation (#1908) 2021-04-13 10:38:12 +02:00
renovate[bot] a0f67bf3dd
build(deps): update dependency typescript to v4.2.4 (#1893)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-08 06:12:02 +10:00
renovate[bot] 9b9991238a
build(deps): update dependency @types/chai to v4.2.16 (#1885)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-04 08:10:14 +10:00
renovate[bot] 121dfb899f
build(deps): update dependency classnames to v2.3.1 (#1886)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-03 20:17:36 +11:00
renovate[bot] 959769164d
build(deps): update dependency classnames to v2.3.0 (#1881)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-01 21:35:48 +11:00
dependabot[bot] 6fc0cb97cb
build(deps): bump y18n from 4.0.0 to 4.0.1 in /web (#1876)
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-04-01 10:20:37 +11:00
renovate[bot] 1f3cf34080
build(deps): update dependency @types/node to v14.14.37 (#1859)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-28 02:21:52 +11:00
renovate[bot] 13ba4d1795
build(deps): update dependency @types/jest to v26.0.22 (#1851)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-26 10:40:48 +11:00
renovate[bot] b1d18cab9d
build(deps): update dependency @types/node to v14.14.36 (#1852)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-26 09:52:01 +11:00
renovate[bot] 7a88c848ad
build(deps): update dependency @types/react-dom to v17.0.3 (#1845)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-23 20:12:11 +11:00
renovate[bot] 7ccbaaffe3
build(deps): update dependency query-string to v7 (#1840)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-19 11:03:23 +11:00
renovate[bot] 8ff018c82f
build(deps): update dependency @types/jest to v26.0.21 (#1837)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-17 21:03:07 +01:00
renovate[bot] ef03751f5f
build(deps): update font awesome (#1833)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-16 21:46:32 +01:00
renovate[bot] 3cb5a5e7ee
build(deps): update dependency @types/node to v14.14.35 (#1830)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-16 09:52:30 +11:00
Amir Zarrinkafsh 25fe7b1ebe
fix(web): fix compilation and running in development mode (#1821)
During a `yarn start` the react frontend would throw the following errors during compilation:

```
Starting the development server...

Compiled with warnings.

./src/index.css (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-4-1!./node_modules/postcss-loader/src??postcss!./src/index.css)
Warning

Greetings, time traveller. We are in the golden age of prefix-less CSS, where Autoprefixer is no longer needed for your stylesheet.

./node_modules/@fortawesome/fontawesome-svg-core/styles.css (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-4-1!./node_modules/postcss-loader/src??postcss!./node_modules/@fortawesome/fontawesome-svg-core/styles.css)
Warning

Greetings, time traveller. We are in the golden age of prefix-less CSS, where Autoprefixer is no longer needed for your stylesheet.

./src/components/FingerTouchIcon.module.css (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-5-1!./node_modules/postcss-loader/src??postcss!./src/components/FingerTouchIcon.module.css)
Warning

Greetings, time traveller. We are in the golden age of prefix-less CSS, where Autoprefixer is no longer needed for your stylesheet.

./src/components/PushNotificationIcon.module.css (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-5-1!./node_modules/postcss-loader/src??postcss!./src/components/PushNotificationIcon.module.css)
Warning

Greetings, time traveller. We are in the golden age of prefix-less CSS, where Autoprefixer is no longer needed for your stylesheet.

Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.
```

This in turn would mean that the server would never finish loading.
This change will allow the code to compile and run appropriately both in production and development modes.
2021-03-13 14:09:51 +11:00
renovate[bot] e5a6b6b85d
build(deps): update dependency @types/node to v14.14.34 (#1814)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-13 10:47:21 +11:00
dependabot[bot] cb41f5a643
build(deps): bump react-dev-utils from 11.0.3 to 11.0.4 in /web (#1813)
Bumps [react-dev-utils](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-dev-utils) from 11.0.3 to 11.0.4.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md)
- [Commits](https://github.com/facebook/create-react-app/commits/HEAD/packages/react-dev-utils)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2021-03-13 10:14:05 +11:00
renovate[bot] 28239214f6
build(deps): update dependency chai to v4.3.4 (#1816)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2021-03-13 09:55:32 +11:00
dependabot[bot] c4864ca64c
build(deps): bump elliptic from 6.5.3 to 6.5.4 in /web (#1796)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2021-03-10 16:11:36 +11:00
renovate[bot] 99a7c5ac2f
build(deps): update dependency @types/node to v14.14.33 (#1793)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-10 10:43:45 +11:00
renovate[bot] ac7ee18610
build(deps): update dependency @types/react-dom to v17.0.2 (#1789)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-09 09:45:12 +11:00
renovate[bot] 9dcb2e06fb
build(deps): update dependency @types/node to v14.14.32 (#1784)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-09 09:28:31 +11:00
renovate[bot] d7484bd7e2
build(deps): update dependency @types/react to v17.0.3 (#1785)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-08 15:59:25 +11:00
renovate[bot] 095b9fa16d
build(deps): update dependency typescript to v4.2.3 (#1780)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-05 22:32:51 +11:00
James Elliott 4dce8f9496
perf(authorizer): preload access control lists (#1640)
* adjust session refresh to always occur (for disabled users)

* feat: adds filtering option for Request Method in ACL's

* simplify flow of internal/authorization/authorizer.go's methods

* implement query string checking

* utilize authorizer.Object fully

* make matchers uniform

* add tests

* add missing request methods

* add frontend enhancements to handle request method

* add request method to 1FA Handler Suite

* add internal ACL representations (preparsing)

* expand on access_control next

* add docs

* remove unnecessary slice for network names and instead just use a plain string

* add warning for ineffectual bypass policy (due to subjects)

* add user/group wildcard support

* fix(authorization): allow subject rules to match anonymous users

* feat(api): add new params

* docs(api): wording adjustments

* test: add request method into testing and proxy docs

* test: add several checks and refactor schema validation for ACL

* test: add integration test for methods acl

* refactor: apply suggestions from code review

* docs(authorization): update description
2021-03-05 15:18:31 +11:00
renovate[bot] 1438cf5deb
build(deps): update dependency chai to v4.3.3 (#1778)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-04 12:15:04 +11:00
renovate[bot] f24ec3989a
build(deps): update dependency chai to v4.3.1 (#1776)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-03 13:14:32 +11:00
renovate[bot] bd610b5b5b
build(deps): update dependency query-string to v6.14.1 (#1769)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-28 16:40:01 +11:00
renovate[bot] 96bb3e2f88
build(deps): update dependency eslint-config-prettier to v8.1.0 (#1764)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-25 10:58:41 +11:00
renovate[bot] f09eb1fcc8
build(deps): update dependency typescript to v4.2.2 (#1760)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-02-24 10:56:21 +11:00
renovate[bot] 40099edc45
build(deps): update dependency react-scripts to v4.0.3 (#1756)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-23 10:54:38 +11:00
renovate[bot] dc341a3894
build(deps): update dependency eslint-config-prettier to v8 (#1750)
* build(deps): update dependency eslint-config-prettier to v8

* fix(web): update eslint/prettier config to v8.0

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-02-23 10:26:57 +11:00
renovate[bot] a8f83568c0
build(deps): update dependency query-string to v6.14.0 (#1744)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-22 17:23:58 +11:00
renovate[bot] 19a5e28930
build(deps): update dependency eslint-import-resolver-typescript to v2.4.0 (#1743)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-22 17:05:37 +11:00
renovate[bot] c343e53dd6
build(deps): update dependency @types/node to v14.14.31 (#1734)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-20 14:55:11 +11:00
renovate[bot] afc2af86ed
build(deps): update dependency @types/node to v14.14.30 (#1732)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-19 14:34:29 +11:00
renovate[bot] f411abac1b
build(deps): update dependency @types/node to v14.14.29 (#1731)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-19 14:13:22 +11:00
renovate[bot] a6215c03b7
build(deps): update dependency @types/node to v14.14.28 (#1725)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-15 09:45:42 +11:00
Amir Zarrinkafsh 2502b40cd6
fix(web): fix otp input box with themes (#1723)
#1584 introduced a regression due to the way layouts are addressed with [CSS normalization](https://material-ui.com/components/css-baseline/#layout).

This PR ensures that the OTP input box will remain a `content-box` to avoid any text display and box sizing issues caused by padding.

The OTP input has also been changed to only accept numbers.

Fixes #1720.
2021-02-13 15:31:57 +11:00
renovate[bot] 361705738a
build(deps): update dependency @types/react-dom to v17.0.1 (#1722)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-13 12:26:56 +11:00
renovate[bot] 056faf8857
build(deps): update dependency @types/react to v17.0.2 (#1721) 2021-02-13 11:57:32 +11:00
renovate[bot] 53c5529d28
build(deps): update dependency @types/node to v14.14.27 (#1719)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-13 00:30:19 +11:00
Amir Zarrinkafsh 683c4a70bf
fix(web): improve 2fa enrollment process (#1706)
* refactor(web): improve 2fa enrollment process

This PR will change some of the wording and colours for the 2FA processes in order to provide more clarity and address some accessibility issues for end users.

The following is a summary of the changes:

* One-Time Password ⭢ Time-based One-Time Password
* Security Key ⭢ Security Key - U2F

![Screenshot_2021-02-02-09-36-17](https://user-images.githubusercontent.com/3339418/107138185-17656100-6967-11eb-8fac-9e75c7a82d09.png)


* QRCode ⭢ QR Code

![Screenshot_2021-02-07-05-07-25](https://user-images.githubusercontent.com/3339418/107138196-29df9a80-6967-11eb-811f-d77c9bb0159e.png)

* `Not registered yet?` text to display `Lost device?` if a user has already registered a device of said type

![Screenshot_2021-02-02-10-24-54](https://user-images.githubusercontent.com/3339418/107138205-395ee380-6967-11eb-8826-83e1438dd146.png)

* Change button and text colour in e-mails that Authelia generates
* Change Authelia email footer to be more security conscious

![Screenshot_2021-02-07-04-51-40](https://user-images.githubusercontent.com/3339418/107138211-4085f180-6967-11eb-890b-9d931bd1ce76.png)

The docs have also been updated to clarify the 2fa device enrollment limitation which only allows users to register one of each device type concurrently.

Closes #1560.
2021-02-12 16:59:42 +11:00
renovate[bot] f188bfb1dc
build(deps): update dependency @types/node to v14.14.26 (#1716)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-12 14:32:41 +11:00
renovate[bot] 371d252ff6
build(deps): update dependency typescript to v4.1.5 (#1713)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-11 09:56:47 +11:00
renovate[bot] de3a67d300
build(deps): update dependency @types/chai to v4.2.15 (#1712)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-11 09:33:21 +11:00