Commit Graph

315 Commits (4dce8f94962d3bd0099bbb202f76696a551d099b)

Author SHA1 Message Date
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
renovate[bot] 7b328e729d
build(deps): update dependency typescript to v4.1.4 (#1710)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-10 14:11:41 +11:00
renovate[bot] 2d978f6032
build(deps): update dependency @craco/craco to v6.1.1 (#1705)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-07 12:55:54 +11:00
renovate[bot] a1eb547620
build(deps): update dependency @types/node to v14.14.25 (#1697) 2021-02-05 07:50:25 +11:00
renovate[bot] 6ec73901db
build(deps): update dependency chai to v4.3.0 (#1698)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-05 06:36:08 +11:00
renovate[bot] 0b4f54081e
build(deps): update dependency @types/node to v14.14.24 (#1695)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-04 12:19:50 +11:00
renovate[bot] 244d6eab2a
build(deps): update dependency @types/node to v14.14.23 (#1693)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-04 11:10:16 +11:00
renovate[bot] 4802b096d5
build(deps): update dependency react-scripts to v4.0.2 (#1691)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-04 08:38:18 +11:00
renovate[bot] f5f2bbf129
build(deps): update dependency @types/react to v17.0.1 (#1687)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-03 12:06:58 +11:00
renovate[bot] 6d4a31d2cd
chore(deps): pin dependencies (#1644)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-30 16:26:23 +11:00
dependabot-preview[bot] 4109497a85
[MISC] (deps): Bump @craco/craco from 6.0.0 to 6.1.0 in /web (#1639)
Bumps [@craco/craco](https://github.com/gsoft-inc/craco) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/gsoft-inc/craco/releases)
- [Commits](https://github.com/gsoft-inc/craco/compare/v6.0.0...v6.1.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-01-28 10:01:23 +11:00
dependabot-preview[bot] 6626cc8cf6
[MISC] (deps): Bump u2f-api from 1.1.1 to 1.2.1 in /web (#1634)
Bumps [u2f-api](https://github.com/grantila/u2f-api) from 1.1.1 to 1.2.1.
- [Release notes](https://github.com/grantila/u2f-api/releases)
- [Commits](https://github.com/grantila/u2f-api/compare/v1.1.1...v1.2.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-27 16:06:44 +11:00
dependabot-preview[bot] 2a11712364
[MISC] (deps): Bump @material-ui/core from 4.11.2 to 4.11.3 in /web (#1629)
Bumps [@material-ui/core](https://github.com/mui-org/material-ui/tree/HEAD/packages/material-ui) from 4.11.2 to 4.11.3.
- [Release notes](https://github.com/mui-org/material-ui/releases)
- [Changelog](https://github.com/mui-org/material-ui/blob/v4.11.3/CHANGELOG.md)
- [Commits](https://github.com/mui-org/material-ui/commits/v4.11.3/packages/material-ui)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-01-25 11:29:11 +11:00
Amir Zarrinkafsh daa30f3aa3
[FEATURE] Add theme support (#1584)
* [FEATURE] Add theme support

This change allows users to select a theme for Authelia on start-up.

The default will continue to be the existing theme which is known as `light`.
Three new options are now also provided:
* `dark`
* `grey`
* `custom`

The `custom` theme allows users to specify a primary and secondary hex color code to be utilised to style the portal.

Co-authored-by: BankaiNoJutsu <lbegert@gmail.com>

* Add themes to integration tests

* Remove custom theme

* Fix linting issue in access_control_test.go

Co-authored-by: BankaiNoJutsu <lbegert@gmail.com>
2021-01-20 23:07:40 +11:00
dependabot-preview[bot] b74e65fc48
[MISC] (deps): Bump enzyme-adapter-react-16 in /web (#1618)
Bumps [enzyme-adapter-react-16](https://github.com/enzymejs/enzyme/tree/HEAD/packages/enzyme-adapter-react-16) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/enzymejs/enzyme/releases)
- [Changelog](https://github.com/enzymejs/enzyme/blob/master/CHANGELOG.md)
- [Commits](https://github.com/enzymejs/enzyme/commits/enzyme-adapter-react-16@1.15.6/packages/enzyme-adapter-react-16)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-01-20 14:23:37 +11:00
dependabot-preview[bot] 124c75cc5b
[MISC] (deps): Bump @types/node from 14.14.21 to 14.14.22 in /web (#1617)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.21 to 14.14.22.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-20 12:44:48 +11:00
dependabot-preview[bot] f959f85a32
[MISC] (deps): Bump eslint-config-prettier from 7.1.0 to 7.2.0 in /web (#1615)
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v7.1.0...v7.2.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-19 09:57:55 +11:00
Amir Zarrinkafsh 57c339bb96
[MISC] Fix OTP countdown circle (#1604)
On the method selection page previously the OTP option had a circle which gradually reduced in size and eventually reset, this was a intended to be a visual indicator for a time based OTP.
2021-01-16 20:47:29 +11:00
dependabot-preview[bot] e8536cbb96
[MISC] (deps): Bump @types/node from 14.14.20 to 14.14.21 in /web (#1602)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.20 to 14.14.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-01-15 10:27:22 +11:00
dependabot-preview[bot] cfd301d3bf
[MISC] (deps): Bump @fortawesome/free-regular-svg-icons in /web (#1600)
Bumps [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 5.15.1 to 5.15.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.15.1...5.15.2)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-15 10:00:06 +11:00
dependabot-preview[bot] 701cfe9460
[MISC] (deps): Bump @fortawesome/free-solid-svg-icons in /web (#1599)
Bumps [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 5.15.1 to 5.15.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.15.1...5.15.2)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-15 09:40:09 +11:00
dependabot-preview[bot] 751f040c02
[MISC] (deps): Bump @fortawesome/fontawesome-svg-core in /web (#1598)
Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 1.2.32 to 1.2.34.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-15 09:07:47 +11:00
dependabot-preview[bot] 525e08037c
[MISC] (deps): Bump @types/jest from 26.0.19 to 26.0.20 in /web (#1587)
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 26.0.19 to 26.0.20.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-07 22:30:49 +11:00
dependabot-preview[bot] a5fd25ca52
[MISC] (deps): Bump @types/node from 14.14.19 to 14.14.20 in /web (#1581)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.19 to 14.14.20.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-01-05 11:24:48 +11:00
dependabot-preview[bot] 5300c9ea6a
[MISC] (deps): Bump eslint-plugin-prettier from 3.3.0 to 3.3.1 in /web (#1580)
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v3.3.0...v3.3.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-05 10:51:48 +11:00
Amir Zarrinkafsh 3487fd392e
[FEATURE] Add API docs and swagger-ui (#1544)
* [FEATURE] Add API docs and swagger-ui

This change will serve out swagger-ui at the `/api/` root path.

* Update descriptions and summaries in API spec

* Utilise frontend assets from unit testing for Docker build steps

* Fix tag for /api/user/* endpoints

* Fix response schema for /api/user/info/2fa_method

* Template and inject the session name during runtime into swagger-ui

This change also factorises and renames index.go into template.go, this can now be generically utilised to template any file.

* Fix integration tests

* Add U2F endpoints

* Change swagger directory to api

This change is to more closely conform to the golang-standards project layout.

* Add authentication for u2f endpoints

* Modify u2f endpoint descriptions

* Rename and fix u2f 2fa sign endpoints

* Fix request body for /api/secondfactor/u2f/sign endpoint

Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2021-01-03 15:28:46 +11:00
Amir Zarrinkafsh 689fd7cb95
[CI] Add linting option for frontend and enforce styling (#1565)
We now extend the default Eslint configuration and enforce styling with prettier for all of our frontend code.
2021-01-02 21:58:24 +11:00
dependabot-preview[bot] a5ea31e482
[MISC] (deps): Bump @types/node from 14.14.17 to 14.14.19 in /web (#1577)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.17 to 14.14.19.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2021-01-02 07:51:55 +11:00
dependabot-preview[bot] baaaf1e8a5
[MISC] (deps): Bump qrcode.react from 1.0.0 to 1.0.1 in /web (#1574)
Bumps [qrcode.react](https://github.com/zpao/qrcode.react) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/zpao/qrcode.react/releases)
- [Changelog](https://github.com/zpao/qrcode.react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zpao/qrcode.react/compare/v1.0.0...v1.0.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2020-12-31 13:17:02 +11:00