Commit Graph

886 Commits (7fdcc351d4a5d143ec2823e6331de12274c90532)

Author SHA1 Message Date
renovate[bot] 913a882b8b
build(deps): update mariadb docker tag to v10.11.2 (#4955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-18 10:10:00 +11:00
Amir Zarrinkafsh 51096c5e70
refactor(suites): utilise pki certs in haproxy suite (#4945)
This utilises the certs provided within the pki section of the repo for the HAProxy suite.
2023-02-17 15:05:48 +11:00
James Elliott 891f1de9f2
refactor(commands): x509 bundling (#4942)
This adds another bundling mode to the certificate command.
2023-02-17 14:29:07 +11:00
James Elliott 5be5de02d8
feat: webauthn users 2023-02-17 06:40:40 +11:00
renovate[bot] 98e6fdc69f
build(deps): update traefik docker tag to v2.9.8 (#4939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-16 11:14:38 +11:00
renovate[bot] 9116bcf00f
build(deps): update caddy docker tag to v2.6.4 (#4938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-16 11:00:12 +11:00
renovate[bot] 4598932155
build(deps): update traefik docker tag to v2.9.7 (#4936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-15 20:29:27 +11:00
renovate[bot] ccaa6b9fd2
build(deps): update golang docker tag to v1.20.1 (#4930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-15 10:56:48 +11:00
renovate[bot] 16eedfd1b4
build(deps): update haproxy docker tag to v2.7.3 (#4931)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-15 08:57:57 +11:00
James Elliott e84ca4956a
refactor: sql updates 2023-02-14 23:35:15 +11:00
Amir Zarrinkafsh 59e82e786c
refactor: collect backend coverage via go build -cover (#4921)
* refactor: collect backend coverage via go build -cover

* refactor: print percentage coverage collected
2023-02-14 14:44:08 +11:00
James Elliott ee56740f46
Merge remote-tracking branch 'origin/master' into feat-settings-ui 2023-02-13 06:33:46 +11:00
renovate[bot] 6499dcf210
build(deps): update module github.com/go-webauthn/webauthn to v0.7.1 (#4920)
* build(deps): update module github.com/go-webauthn/webauthn to v0.7.1

* test: fix for upstream changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2023-02-13 06:30:19 +11:00
James Elliott 130a28a430
fix: misc 2023-02-12 23:57:43 +11:00
James Elliott 526dd8347d
fix: misc 2023-02-12 23:12:31 +11:00
James Elliott ba1ed1252c
fix: tests 2023-02-12 22:11:00 +11:00
James Elliott 515309c10e
feat: translate all the things 2023-02-12 21:57:45 +11:00
James Elliott 7e56cf2d15
test(suites): fix postgres 2023-02-12 12:48:39 +11:00
James Elliott d0160edc70
test(suites): fix standalone 2023-02-12 12:39:17 +11:00
James Elliott be21d73c72
fix: sql migration 2023-02-12 12:25:15 +11:00
James Elliott 40e247fcee
Merge branch 'master' into feat-settings-ui 2023-02-12 03:02:26 +11:00
James Elliott fab2b0d497
test(suites): fix missing sans (#4917) 2023-02-12 02:54:44 +11:00
James Elliott 3b6f5482b8
fix: multi-cookie domain webauthn 2023-02-12 02:47:03 +11:00
James Elliott 8c057f65a5
Merge remote-tracking branch 'origin/master' into feat-settings-ui 2023-02-11 21:53:34 +11:00
James Elliott 2888ee7f41
refactor(commands): services (#4914)
Misc refactoring of the services logic to simplify the
2023-02-11 21:45:26 +11:00
renovate[bot] 1a5178a8a5
build(deps): update alpine docker tag to v3.17.2 (#4910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-11 16:35:53 +11:00
James Elliott a0758bb4ba
refactor(suites): use pki for oidc (#4913) 2023-02-11 15:37:54 +11:00
James Elliott 852dc808bd
Merge remote-tracking branch 'origin/master' into feat-settings-ui 2023-02-11 14:13:18 +11:00
James Elliott 8e4b660f15
refactor: certs (#4912)
This refactors the suites to use a Enterprise Root CA PKI signed certificate so the CA public certificate can be trusted. This is particularly useful for webauthn in Chrome.
2023-02-11 14:11:40 +11:00
renovate[bot] dbafa26ec3
build(deps): update caddy docker tag to v2.6.3 (#4906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-09 15:04:46 +11:00
James Elliott 1f1210c6ac
Merge remote-tracking branch 'origin/master' into feat-settings-ui 2023-02-08 13:52:07 +11:00
James Elliott 2e6d17ba8a
feat(configuration): rfc2307bis implementation (#4900)
This adds configuration defaults for RFC2307bis LDAP implementations such as OpenLDAP with the RFC2307bis LDIF which should service most user needs.
2023-02-08 13:35:57 +11:00
renovate[bot] 436a78525c
build(deps): update envoyproxy/envoy docker tag to v1.25.1 (#4899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-08 09:22:17 +11:00
James Elliott 726850fe43
refactor: add some more useful templating funcs (#4891) 2023-02-08 01:28:09 +11:00
renovate[bot] 9bf0ce212a
build(deps): update mariadb docker tag to v10.10.3 (#4889)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-07 15:13:12 +11:00
James Elliott 9e5aa1c1a9
Merge remote-tracking branch 'origin/master' into feat-settings-ui
# Conflicts:
#	web/package.json
#	web/pnpm-lock.yaml
2023-02-05 20:19:40 +11:00
James Elliott a7ccf3652f
docs: fix rfc references and fix misc issues (#4879) 2023-02-05 18:11:30 +11:00
James Elliott a2ce9e0573
test: add test for 2329 expand-env (#4870)
This adds a test for https://github.com/authelia/authelia/issues/2329#issuecomment-1414201785
2023-02-03 10:36:38 +11:00
renovate[bot] 790139fd48
build(deps): update ghcr.io/k3d-io/k3d docker tag to v5.4.7 (#4867)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-03 02:43:34 +11:00
James Elliott e408cb19b1
test: adjust tests and docs to be similar (#4856) 2023-02-02 18:13:18 +11:00
James Elliott 598ea2bb19
feat(configuration): disallow public suffix domains (#4855)
This adds a check to the domains configuration to ensure the domain value is not part of the public suffix list at https://publicsuffix.org. These domains are special and users cannot write cookies with this domain value, this makes them unusable with Authelia and this more readily makes that apparent.
2023-02-02 16:34:49 +11:00
renovate[bot] 30aaa8a245
build(deps): update golang docker tag to v1.20.0 (#4864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2023-02-02 14:23:09 +11:00
James Elliott d7be1c1359
refactor: reduce complexity 2023-02-01 22:10:38 +11:00
James Elliott 3af20a7daf
build(deps): use @simplewebauthn/browser 2023-01-30 16:37:53 +11:00
James Elliott f382ba040e
i18n: update translations (#4850) 2023-01-30 10:16:52 +11:00
James Elliott 7d17c39c52
Merge origin/master into feat-settings-ui 2023-01-25 22:11:41 +11:00
James Elliott 65705a646d
feat(server): customizable authz endpoints (#4296)
This allows users to customize the authz endpoints.

Closes #2753, Fixes #3716

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2023-01-25 20:36:40 +11:00
James Elliott 36e817df92
test(suites): load environment into suites (#4762)
* test(suites): load environment into suites

* test(suites): default setup suite

* test(suites): create base suite

* test(suites): fix nil ptr

* test(suites): add logging

* test: fix missing devworkflow path

* refactor: apply suggestions

* refactor: log

* fix: dev workflow requires env file to trigger vite hmr

* fix(suites): fix dynamic configuration in dev workflow for all proxies

* refactor: apply final suggestions

* fix: pass log level to suites

* fix(suites): include pathprefix to prevent react router basename issues

* fix: missing setup logging calls

* fix: gate suite setup funcs

* test: fix lint

* test: fix tmp dir

* fix(suites): fix gitignore of .env.development with vite hmr

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2023-01-25 15:11:05 +11:00
James Elliott a566c16d08
feat(web): privacy policy url (#4625)
This allows users to customize a privacy policy URL at the bottom of the login view.

Closes #2639
2023-01-22 19:58:07 +11:00
James Elliott 8cbd9cb30a
test: make suite browser detection more robust and extensible (#4807) 2023-01-21 16:02:27 +11:00
renovate[bot] 309c355026
build(deps): update haproxy docker tag to v2.7.2 (#4805)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-21 14:21:48 +11:00
James Elliott bd279900ca
Merge remote-tracking branch 'origin/master' into feat-settings-ui 2023-01-20 17:56:06 +11:00
renovate[bot] 530bf72f42
build(deps): update envoyproxy/envoy docker tag to v1.25.0 (#4796)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-19 16:11:30 +11:00
James Elliott b815521384
fix(ntp): version 4 encoded incorrectly (#4773)
This fixes an issue where version 4 was actually serialized as version 5 due to some binary math issues. It also fixes the fact the leap value was incorrect, it should have been set to unknown.
2023-01-17 22:54:17 +11:00
Manuel Nuñez 56f028294b
fix(utils): fix suite setup timeout (#4771)
After PR #4751 the suites times out if takes more of 60 seconds
This PR honors the timeout configured at waitUntilAutheliaBackendIsReady (90s)
2023-01-16 10:58:13 +11:00
Manuel Nuñez 1cf9e6f3ef
test(utils): add additional coverage (#4751) 2023-01-12 22:30:16 +11:00
Manuel Nuñez 8b29cf7ee8
feat(session): multiple session cookie domains (#3754)
This adds support to configure multiple session cookie domains.

Closes #1198

Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2023-01-12 21:57:44 +11:00
renovate[bot] 81ffe9d616
build(deps): update golang docker tag to v1.19.5 (#4752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-11 14:48:33 +11:00
renovate[bot] 0dcaa3d2ab
build(deps): update alpine docker tag to v3.17.1 (#4742)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 09:09:34 +11:00
renovate[bot] 7b00b21da1
build(deps): update module github.com/fasthttp/session/v2 to v2.4.15 (#4292)
* build(deps): update module github.com/fasthttp/session/v2 to v2.4.15
* fix(session): adjust api for changes in upstream library

Fixes #3751.

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2023-01-09 15:57:40 +11:00
James Elliott cf4010b4fb
fix(oidc): csp blocks form_post response form submit (#4719)
This fixes an issue where the form_post response never gets submitted.

Fixes #4669
2023-01-08 07:04:06 +11:00
renovate[bot] 3d6c67fa33
build(deps): update module github.com/go-webauthn/webauthn to v0.6.0 (#4646)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2023-01-07 14:21:27 +11:00
James Elliott 49d421e910
Merge remote-tracking branch 'origin/master' into feat-settings-ui
# Conflicts:
#	api/openapi.yml
#	web/src/views/DeviceRegistration/RegisterWebauthn.tsx
#	web/src/views/LoginPortal/SecondFactor/WebauthnMethod.tsx
2023-01-07 11:50:19 +11:00
James Elliott fc5ea5b485
refactor(random): add random provider (#4712)
This adds a random provider which makes usage of random operations mockable, and may allow us in the future to swap out the Cryptographical CPU random generator with dedicated hardware random generators.
2023-01-07 11:19:41 +11:00
James Elliott f223975e79
refactor(oidc): simplify hmac core strategy (#4711) 2023-01-07 10:28:53 +11:00
Manuel Nuñez 2ab50c7f61
test(handlers): add additional coverage (#4698)
* test(handlers): handler_checks_safe_redirection

* test(handlers): password_policy

* test(handlers): health

Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2023-01-05 09:37:43 +11:00
Manuel Nuñez 6c3d64a06c
test(ntp): add missing tests (#4693) 2023-01-04 09:12:19 +11:00
James Elliott adaf069eab
feat(oidc): per-client pkce enforcement policy (#4692)
This implements a per-client PKCE enforcement policy with the ability to enforce that it's used, and the specific challenge mode.
2023-01-04 02:03:23 +11:00
renovate[bot] 8421b1bdb8
build(deps): update module github.com/deckarep/golang-set to v2 (#4675)
* build(deps): update module github.com/deckarep/golang-set to v2

* fix: utilise new major for lib

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2023-01-04 00:36:28 +11:00
James Elliott 08cda5d165
refactor: include additional important template funcs (#4690)
* refactor: include additional important template funcs

* fix: use of interface

* test: improve test cases
2023-01-04 00:11:10 +11:00
James Elliott 5efc996109
test: fix cli suite (#4686)
* test: fix cli suite

* test: fix cli suite
2023-01-03 21:39:55 +11:00
James Elliott 53a6275a79
fix(server): errors not logged (#4682)
This fixes a couple errors that were previously not logged as well as ensuring most templates are appropriately parsed via tests.
2023-01-03 17:08:49 +11:00
James Elliott 1c3219e93f
perf(server): cached openapi document (#4674)
This should lead to a small performance gain by caching the openapi.yml with etags as well as eliminating the use of nonce crypto generation when not required.
2023-01-03 14:49:02 +11:00
James Elliott 917ac89e38
refactor: 2fa api 2023-01-01 22:16:28 +11:00
James Elliott dd781ffc51
refactor: adjust settings components 2022-12-31 18:27:43 +11:00
James Elliott f2ee86472d
revert: 2fa skip 2022-12-30 23:51:52 +11:00
James Elliott 0e2770e72d
Merge remote-tracking branch 'origin/master' into feat-settings-ui 2022-12-27 20:05:02 +11:00
James Elliott f685f247cf
feat(notification): important events notifications (#4644)
This adds important event notifications.
2022-12-27 19:59:08 +11:00
James Elliott a771cc6c2b
fix(notification): missing display name (#4653) 2022-12-27 10:54:58 +11:00
James Elliott a691131288
fix(notification): missing use of timeout (#4652) 2022-12-27 08:32:00 +11:00
James Elliott 7b8ed46537
fix(notification): smtp auth not configured (#4647)
This fixes an issue introduced by the pending migration to the new SMTP library in 0bb657e where the auth mechanism is never defined. This only affects commits that are yet to be versioned.
2022-12-26 21:39:19 +11:00
Eng Zer Jun 54afe925b8
test: use test machinery to set env vars in tests (#4640)
This commit replaces `os.Setenv` with `t.Setenv` in tests. The environment variable is automatically restored to its original value when the test and all its subtests complete. Reference: https://pkg.go.dev/testing#T.Setenv

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-12-26 07:16:05 +11:00
James Elliott 55a6794370
feat(templates): templating functions (#4635)
This adds several functions which are available in most areas that use templates.
2022-12-23 21:58:54 +11:00
James Elliott 4a2fd3dea7
Merge remote-tracking branch 'origin/master' into feat-settings-ui 2022-12-23 16:08:47 +11:00
James Elliott 0bb657e11c
refactor(notifier): utilize smtp lib (#4403)
This drops a whole heap of code we were maintaining in favor of a SMTP library.

Closes #2678
2022-12-23 16:06:49 +11:00
James Elliott d7ab3bb633
feat(commands): storage import/export commands (#4545)
This adds commands to export and import TOTP configurations and Webauthn devices as YAML.
2022-12-23 15:00:23 +11:00
James Elliott 0130edb870
feat(configuration): env config file discovery (#4618)
This allows Authelia to discover config files and config options via environment variables.

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2022-12-23 11:03:50 +11:00
James Elliott cc1e58e004
feat(configuration): load config from directory (#4616)
This allows specifying paths to a combination of files and directories with the --config option provided none of the specified file paths reside directly inside one of the specified directory paths. The directory paths are not recursive, and load .yml and .yaml files at this time.
2022-12-22 17:34:20 +11:00
renovate[bot] 2eb820026b
build(deps): update haproxy docker tag to v2.7.1 (#4615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 05:40:53 +00:00
James Elliott 1a849a37bd
docs: fix misc mistakes and adjust placeholders (#4614) 2022-12-22 11:39:59 +11:00
James Elliott e3e31e3cbc
refactor(commands): command context (#4539)
This moves a lot of machinery for commands into a context.Context with other struct values. This allows for PreRunE's to reliably load the configuration and avoids use of global vars.
2022-12-22 11:21:29 +11:00
James Elliott d3d87ffe30
feat(configuration): glauth ldap implementation (#4499)
This adds a GLAuth LDAP implementation which purely adds sane defaults for GLAuth. There are no functional differences just when the implementation option is set to 'glauth' sane defaults which should be sufficient for most use cases are set. See the documentation at https://www.authelia.com/r/ldap#defaults for more details.
2022-12-21 22:14:22 +11:00
James Elliott 5b8b3145ad
feat(configuration): lldap implementation (#4498)
This adds a lldap LDAP implementation which purely adds sane defaults for lldap. There are no functional differences just when the implementation option is set to 'lldap' sane defaults which should be sufficient for most use cases are set. See the documentation at https://www.authelia.com/r/ldap#defaults for more details.
2022-12-21 21:51:25 +11:00
James Elliott d67554ab88
feat(authentication): ldap time replacements (#4483)
This adds and utilizes several time replacements for both specialized LDAP implementations.

Closes #1964, Closes #1284
2022-12-21 21:31:21 +11:00
James Elliott d0d80b4f66
feat(configuration): freeipa ldap implementation (#4482)
This adds a FreeIPA LDAP implementation which purely adds sane defaults for FreeIPA. There are no functional differences just when the implementation option is set to 'freeipa' sane defaults which should be sufficient for most use cases are set. See the documentation at https://www.authelia.com/r/ldap#defaults for more details.

Closes #2177, Closes #2161
2022-12-21 21:07:00 +11:00
James Elliott c7f4d5999d
feat(configuration): file filters (#4515)
This adds experimental file filters which are not guaranteed under our stability policies. These filters take effect after reading the files and before parsing their content.
2022-12-21 20:48:14 +11:00
James Elliott 3ba2eae20e
fix(server): verify endpoint 405ing non-get/head reqs (#4607)
Fixes an issue specific to envoy that prevents the verify endpoint working with requests not using the GET or HEAD methods.
2022-12-21 18:47:20 +11:00
James Elliott 728902335b
refactor: const int type stringers (#4588) 2022-12-17 23:39:24 +11:00
James Elliott a186dca3bf
Merge remote-tracking branch 'origin/master' into feat-settings-ui
# Conflicts:
#	api/openapi.yml
2022-12-17 15:47:34 +11:00
James Elliott d13247ce43
refactor(server): simplify templating and url derivation (#4547)
This refactors a few areas of the server templating and related functions.
2022-12-17 11:49:05 +11:00