renovate[bot]
cd8b2d22c6
build(deps): update golang docker tag to v1.19.1 ( #3978 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-07 09:18:07 +10:00
James Elliott
cd9bfe3f90
fix(web): i18n explicit lang ignored ( #3961 )
...
This fixes an issue where explicit languages such as nl-NL, pt-PT, zh-CH, and zh-TW are ignored even though they're supported.
2022-09-06 09:09:33 +10:00
James Elliott
9c5a8b77aa
i18n: update translations for portal.json (chinese simplified) ( #3962 )
2022-09-06 06:08:05 +10:00
renovate[bot]
48eb9a8ac3
build(deps): update traefik docker tag to v2.8.4 ( #3945 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-09-05 09:54:51 +10:00
Manuel Nuñez
ca85992ac6
fix(handlers): verify handler ( #3956 )
...
When an anonymous user tries to access a forbidden resource with no subject, we should response with 403.
Fixes #3084
2022-09-05 08:21:30 +10:00
James Elliott
6cc182de08
fix(commands): potential nil ptr error on shutdown ( #3947 )
2022-09-04 22:26:03 +10:00
James Elliott
2325031052
refactor: clean up uri checking functions ( #3943 )
2022-09-03 11:51:02 +10:00
James Elliott
84f9e0c021
fix(configuration): incorrect deprecated version ( #3935 )
2022-09-01 12:44:53 +10:00
James Elliott
f17268ee80
docs: remove cobra auto gen tags ( #3937 )
2022-09-01 12:24:47 +10:00
James Elliott
305619f324
i18n: update translation for portal.json (portuguese) ( #3932 )
2022-09-01 06:22:22 +10:00
James Elliott
319a8cf9d4
fix(notification): text emails not encoded properly ( #3854 )
...
This fixes an issue where the plain text portion of emails is not encoded with quoted printable encoding.
2022-08-27 07:39:20 +10:00
renovate[bot]
f690324e94
build(deps): update mariadb docker tag to v10.9.2 ( #3881 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-24 15:45:17 +10:00
renovate[bot]
29faf53a05
build(deps): update haproxy docker tag to v2.6.4 ( #3873 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-23 12:48:11 +10:00
renovate[bot]
ec7d9e2350
build(deps): update haproxy docker tag to v2.6.3 ( #3865 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-20 12:01:24 +10:00
renovate[bot]
7dc03f7f7c
build(deps): update traefik docker tag to v2.8.3 ( #3836 )
2022-08-14 21:22:34 +10:00
renovate[bot]
6adcb3e24d
build(deps): update traefik docker tag to v2.8.2 ( #3828 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-12 10:44:26 +10:00
renovate[bot]
c9f355bed9
build(deps): update dependency alpine to v3.16.2 ( #3820 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-10 10:03:03 +10:00
James Elliott
0f64618cb6
i18n: update translations ( #3699 )
2022-08-09 10:35:33 +10:00
James Elliott
342497a869
refactor(server): use errgroup to supervise services ( #3755 )
...
Uses the errgroup package and pattern for supervising services like servers etc.
2022-08-09 07:50:12 +10:00
James Elliott
9c00104cb2
fix(utils): domain suffix improperly checked ( #3799 )
2022-08-07 21:13:56 +10:00
Amir Zarrinkafsh
2d26b4e115
refactor: fix linter directives for go 1.19 and golangci-lint 1.48.0 ( #3798 )
2022-08-07 11:24:00 +10:00
renovate[bot]
e5b5930bf9
build(deps): update dependency golang to v1.19.0 ( #3783 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-03 18:24:35 +10:00
renovate[bot]
1eff10b891
build(deps): update dependency golang to v1.18.5 ( #3778 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-02 07:06:38 +10:00
James Elliott
b2cbcf3913
fix(handlers): consent session prevents standard flow ( #3668 )
...
This fixes an issue where consent sessions prevent the standard workflow.
2022-07-26 15:43:39 +10:00
James Elliott
f12346e39c
fix(server): missing cache-control header ( #3737 )
...
This fixes a missing cache control header.
Fixes #3732 .
2022-07-25 20:43:50 +10:00
renovate[bot]
db53b32877
build(deps): update dependency haproxy to v2.6.2 ( #3735 )
2022-07-23 12:24:06 +10:00
Amir Zarrinkafsh
e5d62191ca
refactor(utils): remove unused linter rule ( #3731 )
2022-07-23 07:59:14 +10:00
renovate[bot]
88b80ac38f
build(deps): update dependency alpine to v3.16.1 ( #3723 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 11:52:10 +10:00
James Elliott
f55082d4db
fix(authorization): final slash in url matches ignored ( #3717 )
...
This fixes an issue with the URL matching machinery which ignores the final slash of a URL. Introduced in 664d65d7fb
.
Fixes #3692
2022-07-18 14:59:13 +10:00
James Elliott
df016be29e
fix(notification): incorrect date header format ( #3684 )
...
* fix(notification): incorrect date header format
The date header in the email envelopes was incorrectly formatted missing a space between the `Date:` header and the value of this header. This also refactors the notification templates system allowing people to manually override the envelope itself.
* test: fix tests and linting issues
* fix: misc issues
* refactor: misc refactoring
* docs: add example for envelope with message id
* refactor: organize smtp notifier
* refactor: move subject interpolation
* refactor: include additional placeholders
* docs: fix missing link
* docs: gravity
* fix: rcpt to command
* refactor: remove mid
* refactor: apply suggestions
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
* refactor: include pid
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2022-07-18 10:56:09 +10:00
renovate[bot]
f77e386b82
build(deps): update dependency caddy to v2.5.2 ( #3696 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-14 11:30:01 +10:00
James Elliott
7d170f09b4
fix(commands): acl check panic on decode failure ( #3697 )
...
This fixes an issue with the authelia access-control check-policy command which potentially panics when a decode hook fails to parse an item.
2022-07-13 17:22:42 +10:00
renovate[bot]
1d5469de43
build(deps): update dependency golang to v1.18.4 ( #3695 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-13 11:06:14 +10:00
renovate[bot]
a75d7bf6e5
build(deps): update dependency traefik to v2.8.1 ( #3688 )
2022-07-12 11:36:12 +10:00
James Elliott
55e03e2e32
docs: fix ntp inconsistency ( #3686 )
2022-07-11 23:29:10 +10:00
James Elliott
f115f77df8
fix(web): offline_access consent description ( #3679 )
2022-07-11 16:24:09 +10:00
James Elliott
c9cfc8afa9
refactor(notifier): improve smtp errors ( #3646 )
2022-07-09 12:40:02 +10:00
James Elliott
394dafde01
refactor(server): factorize and improve csp ( #3509 )
2022-07-09 12:00:21 +10:00
James Elliott
3b7c858477
i18n: update translations ( #3544 )
...
* i18n: update translation for portal.json (Chinese Simplified)
* i18n: update translation for portal.json (Dutch)
* i18n: update translation for portal.json (German)
* i18n: update translation for portal.json (French)
2022-07-08 23:34:43 +10:00
James Elliott
ce779b2533
refactor(middlewares): factorize responses ( #3628 )
2022-07-08 22:18:52 +10:00
James Elliott
03d56a31ad
refactor: address code review ( #3675 )
...
Addresses code review for #3653 .
2022-07-08 20:56:22 +10:00
James Elliott
24f5caed97
refactor: factorize verify handler ( #3662 )
...
This factorizes a few sections of the /api/verify handler and improves both the code flow and error output of the section of code.
2022-07-08 12:32:43 +10:00
James Elliott
290a38e424
fix(configuration): address parsing failure ( #3653 )
...
This fixes an issue with parsing address types from strings.
2022-07-05 14:43:12 +10:00
James Elliott
664d65d7fb
fix(authorization): object path not normalized ( #3661 )
...
This fixes an issue where the object path is not normalized.
2022-07-05 11:32:10 +10:00
Manuel Nuñez
da012ab2d6
fix(handlers): fix redirect with timed out sessions on rules with bypass policy ( #3599 )
...
This change replaced a returned error with a warning when the idle timeout was exceeded.
Fixes #3587
2022-07-05 09:58:35 +10:00
James Elliott
0f7da4fd90
fix(suites): fix passive health checks for caddy suite ( #3627 )
...
This change fixes an issue that was incorrectly marking the primary load balancer target for the front end in dev mode as down.
2022-06-30 11:39:50 +10:00
renovate[bot]
1ae2dec3a7
build(deps): update dependency traefik to v2.8.0 ( #3636 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-30 09:16:11 +10:00
James Elliott
beeb9eae90
docs: fix config template lint ( #3618 )
2022-06-28 17:28:49 +10:00
James Elliott
f355a45ff3
fix(configuration): storage encryption_key required log grammar issue ( #3617 )
2022-06-28 17:13:47 +10:00
James Elliott
e1ee5a5d07
fix(configuration): missing password_reset disable key ( #3616 )
2022-06-28 16:41:30 +10:00
James Elliott
2b6b6ef1f0
docs: roadmap permalinks ( #3614 )
2022-06-28 13:55:50 +10:00
James Elliott
d2f1e5d36d
feat(configuration): automatically map old keys ( #3199 )
...
This performs automatic remapping of deprecated configuration keys in most situations.
2022-06-28 13:15:50 +10:00
James Elliott
ab1d0c51d3
feat(authorization): acl resource regex named groups ( #3597 )
...
This adds the named group functionality from domain_regex to the resource criteria.
2022-06-28 12:51:05 +10:00
James Elliott
a6a05ef373
fix(oidc): session refresh failure ( #3603 )
...
This fixes an issue with OpenID Connect where refresh sessions fail to process.
2022-06-28 10:21:57 +10:00
renovate[bot]
95f940b53c
build(deps): update dependency traefik to v2.7.2 ( #3610 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-28 09:21:23 +10:00
James Elliott
fcac438637
feat(commands): enhance crypto generation capabilities ( #2842 )
...
This expands the functionality of the certificates and rsa commands and merges them into one command called cypto which can either use the cert or pair subcommands to generate certificates or key-pairs respectively. The rsa, ecdsa, and ed25519 subcommands exist for both the cert and pair commands. A new --ca-path argument for the cert subcommand allows Authelia to sign other certs with CA certs.
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2022-06-27 18:27:57 +10:00
renovate[bot]
97f63e3722
build(deps): update dependency haproxy to v2.6.1 ( #3574 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-23 11:27:21 +10:00
James Elliott
e2e1d6d30b
docs: update integration guides to reference get started ( #3573 )
2022-06-22 22:58:23 +10:00
James Elliott
0236022145
fix(authentication): poorly formatted log message ( #3563 )
...
This fixes an issue with a log format for LDAP.
2022-06-21 10:56:20 +10:00
Manuel Nuñez
1991c443ba
feat(web): auto-redirect on appropriate authentication state changes ( #3187 )
...
This PR checks the authentication state of the Authelia portal on either a focus event or 1-second timer and if a state change has occurred will redirect accordingly.
Closes #3000 .
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2022-06-19 22:43:19 +10:00
James Elliott
d9c7cd6564
fix(model): potential panic ( #3538 )
...
This fixes a potential panic in the conversion from a fosite.Requester to an *OAuth2Session object.
2022-06-17 22:25:14 +10:00
James Elliott
25b5c1ee2e
feat(authentication): unauthenticated ldap bind ( #3291 )
...
This allows configuring unauthenticated LDAP binding.
2022-06-17 21:03:47 +10:00
andreas-berg
af64f83506
fix(storage): typo in oidc update query ( #3535 )
...
This fixes an erroneous quotation mark in one of the OpenID Connect SQL Queries.
Fixes #3534
2022-06-17 20:14:33 +10:00
James Elliott
b2c60ef898
feat: major documentation refresh ( #3475 )
...
This marks the launch of the new documentation website.
2022-06-15 17:51:47 +10:00
James Elliott
5304178165
ci: add dedicated authelia-gen command ( #3463 )
...
Adds a dedicated authelia code/doc gen command.
2022-06-14 22:40:00 +10:00
James Elliott
0eb6e31252
refactor(metrics): simplify names ( #3515 )
2022-06-14 21:51:33 +10:00
James Elliott
001589cd6d
feat(metrics): implement prometheus metrics ( #3234 )
...
Adds ability to record metrics and gather them for Prometheus.
2022-06-14 17:20:13 +10:00
James Elliott
607bbcc324
fix(handler): oidc two factor handling ( #3512 )
2022-06-14 15:17:11 +10:00
renovate[bot]
bf1fcf59cc
build(deps): update dependency traefik to v2.7.1 ( #3510 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-14 07:38:28 +10:00
James Elliott
5e3a1fd863
fix(server): handled errors not logged correctly ( #3507 )
...
This fixes an issue where errors handled by the ErrorHandler were not correctly logged. It also ensures the errors are logged with fields to make them easy to diagnose.
Fixes #3506
2022-06-12 09:26:28 +10:00
Amir Zarrinkafsh
a22e320f42
refactor(server): alphabetize translations ( #3499 )
2022-06-10 11:55:38 +10:00
James Elliott
a50d425863
refactor(middlewares): convert the bridge to a builder ( #3338 )
...
This adjusts the bridge to be utilized as a builder in order to make it more reusable.
2022-06-10 11:34:43 +10:00
Manuel Nuñez
37de389c2f
feat(web): translation for page title/footer ( #3401 )
...
Add translations for title and footer.
2022-06-09 11:46:15 +10:00
James Elliott
6f0bb0db29
ci: fix docker-compose tty issue ( #3496 )
2022-06-08 19:47:20 +10:00
James Elliott
46d84e46b0
feat(logging): allow time replacement in log file name ( #3330 )
...
* feat(logging): allow time replacement in log file name
This allows replacing `%d` with a date time format in the log `file_name` option.
Closes #3210 .
2022-06-06 09:50:10 +10:00
Amir Zarrinkafsh
9861467831
ci: add integration container for samba and refactor duo ( #3480 )
...
This change utilises a specific integration container for the ActiveDirectory suite and simplifies the DuoPush suite.
2022-06-05 03:51:33 +10:00
Amir Zarrinkafsh
74a7e96409
ci: add integration containers for duo and haproxy ( #3479 )
...
* ci: add integration containers for duo and haproxy
This change utilises specific integration containers for the DuoPush and HAProxy suites.
In the case of DuoPush suite specifically in dev mode the container will be built on suite startup.
* ci: factorize pre-command hook and unset async on trigger steps
2022-06-04 19:38:13 +10:00
renovate[bot]
f07f6b7dda
build(deps): update dependency haproxy to v2.6.0 ( #3465 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-03 09:07:08 +10:00
renovate[bot]
a683a3837b
build(deps): update dependency golang to v1.18.3 ( #3460 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-02 11:01:48 +10:00
James Elliott
2037a0ee4f
fix(commands): hash-password usage instructions ( #3437 )
...
This fixes the hash-password usage instructions and ensures it uses mostly a configuration source based config. In addition it updates our recommended argon2id parameters with the RFC recommendations.
2022-06-02 09:18:45 +10:00
James Elliott
a793ef8b5a
i18n: update translations ( #3447 )
2022-05-28 17:01:54 +10:00
haowei
3a2804928f
i18n: add zh-tw translation for portal.json ( #3439 )
2022-05-28 14:43:21 +10:00
SvanGlan
71c47c7344
i18n: update sv translation of portal.json ( #3430 )
...
Correct a few issues in the Swedish translation files.
2022-05-25 21:28:40 +10:00
James Elliott
aa5bee68f7
i18n: update translations ( #3425 )
2022-05-25 12:46:47 +10:00
renovate[bot]
d436b800bb
build(deps): update dependency mariadb to v10.8.3 ( #3419 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-25 10:23:40 +10:00
renovate[bot]
a2a0c99db3
build(deps): update dependency traefik to v2.7.0 ( #3427 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-05-25 08:44:44 +10:00
James Elliott
77ac770585
i18n: update translations ( #3399 )
2022-05-24 22:07:24 +10:00
SvanGlan
40bfef9aaa
i18n: add sv translation for portal.json ( #3421 )
2022-05-24 21:48:02 +10:00
renovate[bot]
5b9a40d46a
build(deps): update dependency alpine to v3.16.0 ( #3420 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-24 12:04:54 +10:00
Auzborn123
2e1bfaa7db
i18n: fix ru translation ( #3384 )
...
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-05-18 15:09:23 +10:00
renovate[bot]
9cf9aae20b
build(deps): update dependency haproxy to v2.5.7 ( #3397 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-18 14:43:24 +10:00
Auzborn123
5dacdd1278
i18n: add ru translation for portal.json ( #3367 )
2022-05-16 11:19:28 +10:00
James Elliott
c427b8f920
fix(authentication): err when user/display name same ldap attribute ( #3364 )
...
This fixes an issue when both the username and display name attributes are the same. If the username attribute is the same as the display name attribute previously we only set the display name profile value which is incorrect. We should set the username profile value instead and allow the display name to be blank.
2022-05-15 16:37:23 +10:00
renovate[bot]
1bd862a814
build(deps): update dependency golang to v1.18.2 ( #3345 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-11 10:23:48 +10:00
James Elliott
150e54c3ae
fix(authentication): utilize msad password history control ( #3256 )
...
This fixes an issue where the Microsoft Active Directory Server Policy Hints control was not being used to prevent avoidance of the PSO / FGPP applicable to the user.
2022-05-10 14:38:36 +10:00
James Elliott
a7106ad7e9
fix(handler): missing notification values ( #3321 )
...
This ensures all template types share the same template values and display them correctly regardless if text/html/other.
Fixes #3319 .
2022-05-09 08:43:12 +10:00
James Elliott
bda87db79c
test(suites): caddy ( #3305 )
2022-05-07 11:55:52 +10:00
James Elliott
0855ea2f71
fix(server): missing cache and xss headers ( #3289 )
...
Addresses documentation and a couple of headers which were missed.
2022-05-04 14:47:23 +10:00
Amir Zarrinkafsh
cac8919f97
test: add redis restart test back to traefik2 suite ( #3298 )
...
* test: add redis restart test back to traefik2 suite
* refactor(suites): mustpress -> mustinput for totp
* refactor(suites): rename suites for test ordering
2022-05-04 11:01:36 +10:00
renovate[bot]
f8bb51da4d
build(deps): update dependency traefik to v2.6.6 ( #3296 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-04 09:29:51 +10:00
renovate[bot]
f88e7dd242
build(deps): update module github.com/go-rod/rod to v0.106.4 ( #3042 )
2022-05-03 22:37:56 +10:00
renovate[bot]
e6ad8fe83e
build(deps): update dependency golang to v1.18.1 ( #3019 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-03 19:35:44 +10:00
James Elliott
1db00717ee
fix(oidc): pre-conf consent skipped entirely for anon users ( #3250 )
...
This fixes an issue where pre-configured consent is entirely skipped if the process was initiated via an anonymous user.
2022-05-03 15:28:58 +10:00
James Elliott
556a115c83
fix(server): missing modern security headers ( #3288 )
...
This fixes an issue with missing modern security headers such as the X-Content-Type-Options, Referer-Policy, etc.
2022-05-03 12:19:30 +10:00
Amir Zarrinkafsh
91c0c81818
refactor(suites): stop integration tests on first failure ( #3270 )
...
* refactor(suites): stop integration tests on first failure
* refactor(suites): remove additional nginx instance
* refactor(suites): log relevant containers
* refactor(suites): add traefik2 logs to stdout
* refactor(suites): explicitly enable traefik for tests
* refactor(suites): remove redis restart and duplicate pathprefix tests
* ci(buildkite): allow manual retry on integration tests
2022-05-02 14:50:37 +10:00
James Elliott
c7d992f341
fix(authentication): follow ldap referrals ( #3251 )
...
This ensures we are able to follow referrals for LDAP password modify operations when permit_referrals is true.
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2022-05-02 11:51:38 +10:00
renovate[bot]
8ee92231ba
build(deps): update dependency haproxy to v2.5.6 ( #3255 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-27 16:12:44 +10:00
James Elliott
555746e771
refactor: exclude id from sqlite3 migration ( #3242 )
...
* refactor: exclude id from sqlite3 table recreate
* docs: add migration docs
2022-04-25 21:11:56 +10:00
James Elliott
06ba312c28
fix(commands): invalid opaque id service name ( #3235 )
...
This fixes the service type being openid_connect instead of openid as expected. This also allows bulk generating opaque identifiers for users.
2022-04-25 18:49:18 +10:00
James Elliott
861bcc898f
refactor: ensure bad consent sessions and identifiers are deleted ( #3241 )
2022-04-25 17:53:38 +10:00
James Elliott
abf1c86ab9
fix(oidc): subject generated for anonymous users ( #3238 )
...
Fix and issue that would prevent a correct ID Token from being generated for users who start off anonymous. This also avoids generating one in the first place for anonymous users.
2022-04-25 10:31:05 +10:00
renovate[bot]
b18eea039c
build(deps): update node.js to v18 ( #3225 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-21 18:28:35 +10:00
Amir Zarrinkafsh
daaa16c182
refactor(suites): validate totp inputs ( #3218 )
...
This change validates the inputs for the TOTP code entry.
This was previously discarded and left unvalidated during the move to rod from within the integration tests.
2022-04-19 14:11:15 +10:00
Amir Zarrinkafsh
92e219b34b
fix(suites): add missing traefik routes ( #3217 )
...
This change includes missing routes for both the Traefik and Traefik2 suites, issues would have manifested running dev mode tests for these suites when attempting to load translations.
2022-04-19 13:36:49 +10:00
James Elliott
e99fb7a08f
feat(configuration): configurable default second factor method ( #3081 )
...
This allows configuring the default second factor method.
2022-04-18 09:58:24 +10:00
James Elliott
e56690c2df
refactor(configuration): ensure all keys are validated ( #3208 )
...
This ensures keys that exist in slices are validated.
2022-04-16 20:48:07 +10:00
James Elliott
dc7ca6f03c
refactor: introduce config key gen ( #3206 )
...
This adjusts the validated keys to utilize a generated code section.
2022-04-16 19:00:39 +10:00
James Elliott
5aa25ec275
fix(configuration): missing valid keys ( #3207 )
...
This fixes an issue with three missing config keys.
2022-04-16 17:49:13 +10:00
James Elliott
4710de33a4
refactor(configuration): remove ptr for duoapi and notifier ( #3200 )
...
This adds to the ongoing effort to remove all pointers to structs in the configuration without breaking backwards compatibility.
2022-04-16 09:34:26 +10:00
James Elliott
92aba8eb0b
feat(server): zxcvbn password policy server side ( #3151 )
...
This is so the zxcvbn ppolicy is checked on the server.
2022-04-15 19:30:51 +10:00
renovate[bot]
c5cb36c526
build(deps): update dependency golang to v1.17.9 ( #3198 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-15 15:53:15 +10:00
James Elliott
6e0853a81b
build(deps): update dependency golang ( #3180 )
2022-04-13 14:28:31 +10:00
James Elliott
f97474f01b
fix(oidc): show detailed error reasons ( #3175 )
2022-04-12 21:39:15 +10:00
James Elliott
85a88de24d
test(oidc): fix disabled tests ( #3173 )
2022-04-12 13:02:12 +10:00
James Elliott
cf93e66391
test(suites): fix backend endpoints ( #3158 )
2022-04-10 08:05:27 +10:00
Manuel Nuñez
086b97d21f
test(suites): revert por binding ( #3155 )
...
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-04-10 07:44:47 +10:00
James Elliott
79935c7e2e
fix(server): locale format incorrect ( #3154 )
...
This fixes an issue where the locale would be formatted as en-en instead of en-US.
2022-04-09 21:38:17 +10:00
James Elliott
5a0a15f377
feat(commands): user opaque identifiers commands ( #3144 )
...
Add commands for handling user opaque identifiers.
2022-04-09 17:13:19 +10:00
James Elliott
e7112bfbd6
feat(oidc): client id claims ( #3150 )
...
Adds the authorized party (azp) and client_id registered claims to ID Tokens.
2022-04-09 16:55:24 +10:00
James Elliott
148ec1e2e0
fix(oidc): missing amr claim supported in discovery ( #3147 )
...
This adds the AMR claim to discovery.
2022-04-09 09:35:13 +10:00
James Elliott
9d5ac4526e
fix(configuration): remove unused password policy option ( #3149 )
...
Removes the min score option from the ZXCVBN policy and adds tests.
2022-04-09 09:21:49 +10:00
James Elliott
f9da940bfc
fix(web): description of profile scope is not accurate ( #3146 )
...
This adjusts the profile scope to be described as "Access your profile information" as it accesses more than the display name now.
2022-04-09 08:47:21 +10:00
James Elliott
44bd70712c
fix(configuration): sector identifier not parsed correctly ( #3142 )
...
This fixes an issue preventing the sector identifier for OpenID Connect clients from being parsed.
2022-04-08 17:38:38 +10:00
James Elliott
66a450ed38
feat(oidc): pre-configured consent ( #3118 )
...
Allows users to pre-configure consent if enabled by the client configuration by selecting a checkbox during consent.
Closes #2598
2022-04-08 15:35:21 +10:00
James Elliott
4503ac07be
fix(web): lowercase locales are not consistent with localization platforms ( #3141 )
...
This fixes an issue with localization platforms and the docs regarding localization, and the forcing locale names to lowercase.
2022-04-08 14:53:46 +10:00
James Elliott
ce6bf74c8d
fix(server): incorrect remote ip logged in error handler ( #3139 )
...
This fixes edge cases where the remote IP was not correctly logged. Generally this is not an issue as most errors do not hit this handler, but in instances where a transport error occurs this is important.
2022-04-08 14:13:47 +10:00
James Elliott
90edf11b88
feat(web): add user display name to oidc consent view ( #3138 )
...
This adds the current logged in users display name to the consent page as well as some other minor tweaks.
Closes #2595
2022-04-08 12:50:55 +10:00
James Elliott
9b6bcca1ba
feat(totp): secret customization ( #2681 )
...
Allow customizing the shared secrets size specifically for apps which don't support 256bit shared secrets.
2022-04-08 09:01:01 +10:00
James Elliott
8bb8207808
feat(oidc): pairwise subject identifiers ( #3116 )
...
Allows configuring clients with a sector identifier to allow pairwise subject types.
2022-04-07 16:13:01 +10:00
James Elliott
0a970aef8a
feat(oidc): persistent storage ( #2965 )
...
This moves the OpenID Connect storage from memory into the SQL storage, making it persistent and allowing it to be used with clustered deployments like the rest of Authelia.
2022-04-07 15:33:53 +10:00
James Elliott
06fd7105ea
refactor(templates): utilize more accurate naming ( #3125 )
2022-04-07 13:05:20 +10:00
James Elliott
4ebd8fdf4e
feat(oidc): provide cors config including options handlers ( #3005 )
...
This adjusts the CORS headers appropriately for OpenID Connect. This includes responding to OPTIONS requests appropriately. Currently this is only configured to operate when the Origin scheme is HTTPS; but can easily be expanded in the future to include additional Origins.
2022-04-07 10:58:51 +10:00
renovate[bot]
d96c93ef2b
build(deps): update module github.com/valyala/fasthttp to v1.35.0 ( #3120 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-04-06 07:57:23 +10:00
renovate[bot]
004490c7b1
build(deps): update dependency alpine to v3.15.4 ( #3114 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-05 11:15:43 +10:00
Clément Michaud
3ca438e3d5
feat: implement mutual tls in the web server ( #3065 )
...
Mutual TLS helps prevent untrusted clients communicating with services like Authelia. This can be utilized to reduce the attack surface.
Fixes #3041
2022-04-05 09:57:47 +10:00
James Elliott
a2eb0316c8
feat(web): password reset custom url ( #3111 )
...
This allows providing a custom URL for password resets. If provided the disable_reset_password option is ignored, the password reset API is disabled, and the button provided in the UI to reset the password redirects users to the configured endpoint.
Closes #1934 , Closes #2854
Co-authored-by: you1996 <youssri@flyweight.tech>
2022-04-04 17:46:55 +10:00
James Elliott
aac4c4772c
feat(web): i18n asset overrides ( #3040 )
...
This allows overriding translation files in folders with lowercase RFC5646 / BCP47 Format language codes. This also fixes an issues where languages which don't expressly match the language code specified due to having a variant will also match the existing codes.
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2022-04-04 12:15:26 +10:00
James Elliott
2502d89682
fix(server): respond with 404/405 appropriately ( #3087 )
...
This adjusts the not found handler to not respond with a 404 on not found endpoints that are part of the /api or /.well-known folders, and respond with a 405 when the method isn't implemented.
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2022-04-04 09:58:01 +10:00
James Elliott
7230db7cea
refactor(configuration): decode_hooks blackbox and better testing ( #3097 )
2022-04-03 22:44:52 +10:00
Manuel Nuñez
bfd5d66ed8
feat(notification): password reset notification custom templates ( #2828 )
...
Implemented a system to allow overriding email templates, including the remote IP, and sending email notifications when the password was reset successfully.
Closes #2755 , Closes #2756
Co-authored-by: Manuel Nuñez <@mind-ar>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-04-03 22:24:51 +10:00
James Elliott
9e05066097
refactor(handlers): ppolicy ( #3103 )
...
Add tests and makes the password policy a provider so the configuration can be loaded to memory on startup.
2022-04-03 21:58:27 +10:00
James Elliott
36cf662458
refactor: misc password policy refactoring ( #3102 )
...
Add tests and makes the password policy a provider so the configuration can be loaded to memory on startup.
2022-04-03 10:48:26 +10:00
Manuel Nuñez
8659ba394d
feat(authentication): password policy ( #2723 )
...
Implement a password policy with visual feedback in the web portal.
Co-authored-by: Manuel Nuñez <@mind-ar>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-04-03 08:32:57 +10:00
James Elliott
4d7f930e74
docs: fix regex examples ( #3094 )
2022-04-02 16:41:16 +11:00
yossbg
1bae65ad33
feat(templates): display link in mails sent by authelia ( #2785 )
...
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-04-01 23:34:17 +11:00
James Elliott
3c1bb3ec19
feat(authorization): domain regex match with named groups ( #2789 )
...
This adds an option to match domains by regex including two special named matching groups. User matches the username of the user, and Group matches the groups a user is a member of. These are both case-insensitive and you can see examples in the docs.
2022-04-01 22:38:49 +11:00
James Elliott
0116506330
feat(oidc): implement amr claim ( #2969 )
...
This adds the amr claim which stores methods used to authenticate with Authelia by the users session.
2022-04-01 22:18:58 +11:00
James Elliott
b2d35d88ec
feat(configuration): allow rfc4918 http verbs in acl ( #2988 )
...
This allows the HTTP Method verbs from RFC4918 to be used. See https://datatracker.ietf.org/doc/html/rfc4918 for more information.
2022-04-01 21:53:10 +11:00
renovate[bot]
df9492ca0e
build(deps): update dependency traefik to v2.6.3 ( #3075 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-31 17:00:08 +11:00
renovate[bot]
56048dd199
build(deps): update dependency alpine to v3.15.3 ( #3072 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-29 14:08:54 +11:00
James Elliott
a0bffe39fc
fix(configuration): expvars and pprof mapped incorrectly ( #3068 )
...
This fixes the configuration mapping of the server enable_pprof and enable_expvars values.
2022-03-28 13:06:31 +11:00
James Elliott
70ab8aab15
fix(web): show appropriate default and available methods ( #2999 )
...
This ensures that; the method set when a user does not have a preference is a method that is available, that if a user has a preferred method that is not available it is changed to an enabled method with preference put on methods the user has configured, that the frontend does not show the method selection option when only one method is available.
2022-03-28 12:26:30 +11:00
renovate[bot]
b86c7b5284
build(deps): update dependency traefik to v2.6.2 ( #3059 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-03-26 20:53:04 +11:00
renovate[bot]
2d981f7916
build(deps): update dependency alpine to v3.15.2 ( #3051 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-03-26 19:46:15 +11:00
James Elliott
2f31db2db3
fix(server): healthcheck ipv6 format is invalid ( #3055 )
...
This fixes an issue with the healthcheck writting the IPv6 host without brackets.
2022-03-25 11:56:23 +11:00
James Elliott
05b8caa711
fix(configuration): incorrect key validation names ( #3033 )
...
This fixes an issue with key validation slice that has missing or extra keys that are not needed.
2022-03-17 23:20:49 +11:00
James Elliott
17eef2c679
fix(commands): explicitly close files ( #3031 )
...
This fixes an issue that could potentially cause problems with open files due to a deferred file close in a for loop.
2022-03-17 16:53:07 +11:00
renovate[bot]
9eb23a301b
build(deps): update dependency alpine to v3.15.1 ( #3028 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-03-17 15:53:30 +11:00
James Elliott
06ceafd905
refactor(authentication): simplify ldap connection interface ( #3026 )
...
This simplifies the interface to just expose the methods from the underlying connection that we need. The addition of gen.go makes creating the generated mocks easy go generate.
2022-03-17 15:02:54 +11:00
James Elliott
e65a64c9af
fix(configuration): missing sentinel_username key in validator ( #3027 )
...
This fixes an issue where the sentinel_username is not configurable.
2022-03-17 14:01:31 +11:00
James Elliott
dbe290a1c9
refactor: include url hook func ( #3022 )
...
This adds a hook func for url.URL and *url.URL types to the configuration.
2022-03-16 16:16:46 +11:00
renovate[bot]
99326c2688
build(deps): update dependency haproxy to v2.5.5 ( #3018 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-16 13:43:33 +11:00
James Elliott
14ad07ffa2
fix(oidc): userinfo jti claim potential panic ( #3017 )
...
This fixes a usage of uuid.New() which can potentially panic. Instead we use a uuid.NewRandom() which also generates a UUID V4 instead of a UUID V1. In addition all uuid.NewUUID() calls have been replaced by uuid.NewRandom().
2022-03-16 11:29:46 +11:00
James Elliott
9b779569f4
fix(oidc): add detailed trace/debug logs ( #3012 )
...
This adds significantly more detailed logging for most OpenID Connect handlers.
2022-03-16 09:55:38 +11:00
James Elliott
b43ee50368
fix(configuration): remember me duration disabled impossible ( #2997 )
...
This fixes an issue not properly resolved by db6dd32151
.
2022-03-13 13:51:23 +11:00
James Elliott
db6dd32151
fix(configuration): cannot disable remember me ( #2985 )
...
This allows users to disable remember me again.
2022-03-10 09:01:04 +11:00
James Elliott
337dd61468
docs: add docs about remember me duration ( #2979 )
...
This documents disabling remember me.
2022-03-09 13:25:11 +11:00
James Elliott
6a1c5ed533
fix(configuration): invalid password algorithm tag ( #2972 )
...
This fixes a configuration parsing issue that could potentially occur if we were to change the internal name of the struct field.
2022-03-07 00:01:46 +11:00
James Elliott
6d937cf6cc
refactor(model): rename from models ( #2968 )
2022-03-06 16:47:40 +11:00
James Elliott
1c1030c742
fix(configuration): time duration decode hook panic ( #2960 )
...
This fixes a potential panic in the time duration decode hook when the YAML value is a zero integer.
2022-03-05 16:51:41 +11:00
James Elliott
204cef4d03
fix(storage): webauthn kid too short for some devices ( #2957 )
...
This fixes an issue that may cause the kid length of a webauthn device to exceed that length allowed by the database column.
2022-03-04 21:21:08 +11:00
James Elliott
fd3a2bb1c5
fix(configuration): pkce config keys not allowed ( #2954 )
...
This fixes a bug that prevents the PKCE configuration keys from being configurable.
2022-03-04 16:46:05 +11:00
James Elliott
a8f5a70b03
feat(oidc): add automatic allow all cors to discovery ( #2953 )
...
This adds a Cross Origin Resource Sharing policy that automatically allows any cross-origin request to the OpenID Connect discovery documents.
2022-03-04 15:46:12 +11:00
James Elliott
a5c400cb1d
fix(commands): use consistent config file name ( #2952 )
...
Adjusts the default filename for all configuration files to configuration.yml.
2022-03-04 14:39:22 +11:00
James Elliott
c9d86a9240
feat(oidc): oauth2 discovery support ( #2925 )
...
* feat(oidc): oauth2 discovery and endpoint rename
This implements the oauth2 authorization server discovery document, adds tests to the discovery documents, implements an efficiency upgrade to these docs, and renames some endpoints to be uniform.
2022-03-04 14:09:27 +11:00
James Elliott
042cd21800
build(deps): utilize github.com/go-webauthn/webauthn ( #2947 )
2022-03-04 10:56:30 +11:00
James Elliott
8f05846e21
feat: webauthn ( #2707 )
...
This implements Webauthn. Old devices can be used to authenticate via the appid compatibility layer which should be automatic. New devices will be registered via Webauthn, and devices which do not support FIDO2 will no longer be able to be registered. At this time it does not fully support multiple devices (backend does, frontend doesn't allow registration of additional devices). Does not support passwordless.
2022-03-03 22:20:43 +11:00
James Elliott
1b2af90e5a
feat(commands): totp qr code in png format ( #2673 )
...
This allows exporting the TOTP QR code for easy registration when using `authelia storage totp generate` or `authelia storage totp export`.
2022-03-02 18:50:36 +11:00
James Elliott
6276883f04
refactor(configuration): utilize time duration decode hook ( #2938 )
...
This enhances the existing time.Duration parser to allow multiple units, and implements a decode hook which can be used by koanf to decode string/integers into time.Durations as applicable.
2022-03-02 17:40:26 +11:00
James Elliott
d867fa1a63
fix(storage): return reason for identity verification not being found ( #2937 )
...
This includes the reason a token was not found during the identity verification process.
2022-03-02 16:33:47 +11:00
Andrew Moore
6ef6d0499a
feat(oidc): add pkce support ( #2924 )
...
Implements Proof Key for Code Exchange for OpenID Connect Authorization Code Flow. By default this is enabled for the public client type and requires the S256 challenge method.
Closes #2921
2022-03-02 15:44:05 +11:00
renovate[bot]
f8d9c6eab7
build(deps): update dependency haproxy to v2.5.4 ( #2931 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-01 15:04:34 +11:00
James Elliott
c479ba6386
fix(oidc): make preferred_username a profile scope claim ( #2930 )
...
This corrects an issue with the preferred_username which should be part of the profile scope as per https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims .
Introduced in ddbb21a
via #2829
2022-03-01 14:07:39 +11:00
James Elliott
3c81e75d79
feat(commands): add access-control check-policy command ( #2871 )
...
This adds an access-control command that checks the policy enforcement for a given criteria using a configuration file and refactors the configuration validation command to include all configuration sources.
2022-02-28 14:15:01 +11:00
renovate[bot]
e286741357
build(deps): update dependency mariadb to v10.8.2 ( #2917 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-27 10:12:17 +11:00
renovate[bot]
4b1bd01167
build(deps): update dependency traefik to v2.6.1 ( #2912 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-24 21:13:08 +11:00
renovate[bot]
eb76de6cdc
build(deps): update dependency haproxy to v2.5.3 ( #2897 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-02-24 03:12:26 +11:00
James Elliott
bed7a8ae32
feat(server): csp template ( #2856 )
...
Implements the ability for advanced users to override the CSP and easily include the required nonce.
2022-02-21 10:14:09 +11:00
James Elliott
ddbb21af90
fix(handlers): include preferred_username claim in meta ( #2829 )
...
This includes the preferred_username claim in the meta. Also uses the consts for all the applicable claims and scopes.
2022-02-10 09:55:28 +11:00
Clément Michaud
5d4003c291
refactor: directly return error where sufficient ( #2855 )
2022-02-10 09:07:53 +11:00
James Elliott
fcdd41ea2a
feat: oidc scope i18n ( #2799 )
...
This adds i18n for the OIDC scope descriptsions descriptions.
2022-02-08 01:18:16 +11:00
James Elliott
26236f491e
fix(server): use of inconsistent methods for determining origin ( #2848 )
...
This unifies the methods to obtain the X-Forwarded-* header values and provides logical fallbacks. In addition, so we can ensure this functionality extends to the templated files we've converted the ServeTemplatedFile method into a function that operates as a middlewares.RequestHandler.
Fixes #2765
2022-02-07 00:37:28 +11:00
James Elliott
7775d2af0e
fix(ntp): disable failure ignored ( #2835 )
...
Disable failure was ignored previously, this ensures it isn't.
2022-02-03 14:04:24 +11:00
James Elliott
1772a83190
refactor: apply godot recommendations ( #2839 )
2022-01-31 16:25:15 +11:00
Clément Michaud
a7a2bc63fe
feat(configuration): support private-use redirect uris in oidc ( #2796 )
...
Private-use redirect URIs are used to redirect the user to native apps initiating the authentication flow on a device as described in https://datatracker.ietf.org/doc/html/rfc8252#section-7.1
Fix #2742
2022-01-21 22:05:53 +11:00
James Elliott
e59f571816
refactor(oidc): add client id to two factor log message ( #2816 )
...
Adds the client id to a log message where it's likely useful. Additionally adds beta stage for prompt/display handling.
2022-01-21 14:15:50 +11:00
renovate[bot]
d8cf272757
build(deps): update traefik docker tag to v2.5.7 ( #2815 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 13:43:06 +11:00
James Elliott
9a8c6602dd
fix(middlewares): smart delay on reset password ( #2767 )
...
This adds a smart delay on reset password attempts to prevent username enumeration. Additionally utilizes crypto rand instead of math rand. It also moves the timing delay functionality into its own handler func.
2022-01-21 10:46:13 +11:00
James Elliott
06641cd15a
fix(oidc): add preferred username claim ( #2801 )
...
This adds the missing preferred username claim to the ID Token for OIDC.
Fixes #2798
2022-01-18 20:32:06 +11:00
James Elliott
fe4bfc1c75
fix(configuration): mail address decode hook func ( #2790 )
...
This fixes an issue with the mail address decode hook func which previously would attempt to decode any struct type to a mail address.
2022-01-15 13:01:40 +11:00
renovate[bot]
526d71ae8c
build(deps): update module github.com/ory/fosite to v0.42.0 ( #2691 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-01-13 02:52:15 +11:00
James Elliott
d103585aba
fix(storage): use boolean instead of integer ( #2776 )
...
This fixes an issue where an integer is used instead of a boolean.
2022-01-13 01:42:41 +11:00
renovate[bot]
535ad2a697
build(deps): update haproxy docker tag to v2.5.1 ( #2793 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-01-12 23:54:50 +11:00
renovate[bot]
2a1e7fc793
build(deps): update traefik docker tag to v2.5.6 ( #2738 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 10:44:39 +11:00
renovate[bot]
93352aa36b
build(deps): update traefik docker tag to v2.5.5 ( #2706 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-12 14:47:03 +11:00
renovate[bot]
f9586b99a9
build(deps): update traefik docker tag to v1.7.34 ( #2705 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-12 11:15:01 +11:00
James Elliott
c01759715c
fix(models): potential panic generating jti ( #2669 )
...
This ensures that at the time the JWT is generated for identity verification requests that a panic can't occur and instead an error will be returned.
2021-12-04 15:48:22 +11:00
James Elliott
5a223b5a56
fix(storage): don't check exp against time using sql ( #2676 )
...
This is already checked by JWT validation. There is no need and it's leading to timezone issues.
Fixes #2672
2021-12-04 15:34:20 +11:00
James Elliott
95a5e326a5
fix(storage): postgres schema hardcoded for tables query ( #2667 )
...
This removes the hardcoded schema value from the PostgreSQL existing tables query, making it compatible with the new schema config option.
2021-12-03 17:29:55 +11:00
James Elliott
255aaeb2ad
feat(storage): encrypt u2f key ( #2664 )
...
Adds encryption to the U2F public keys. While the public keys cannot be used to authenticate, only to validate someone is authenticated, if a rogue operator changed these in the database they may be able to bypass 2FA. This prevents that.
2021-12-03 11:04:11 +11:00
James Elliott
104a61ecd6
refactor(web): only fetch totp conf if required ( #2663 )
...
Prevents the TOTP user config from being requested when the user has not registered or is already authenticated 2FA.
2021-12-02 21:28:16 +11:00
James Elliott
9045b75344
fix(storage): rebind all queries ( #2662 )
...
Fixes an issue in the new storage system. We forgot to rebind a few queries to the PostgreSQL compatible format.
2021-12-02 17:06:04 +11:00
James Elliott
f90ca855e3
feat(storage): postgresql schema and ssl options ( #2659 )
...
Adds the schema name and all ssl options for PostgreSQL. Also a significant refactor of the storage validation process.
2021-12-02 16:36:03 +11:00
Aram Akhavan
5b3fa1fffb
docs: consistent naming for configuration file ( #2626 )
...
* change all instances (file names and docs) of "config.template.yml" to "configuration.template.yml" so its consistent with the expectations of the Dockerfile
* Keep config.template.yml named as is
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
* Update index.html
* revert filename changes and add a note about docker
* refactor: apply suggestions from code review
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-12-02 15:50:05 +11:00
James Elliott
a79e4dc592
fix(storage): duo/u2f upsert failure on postgresql ( #2658 )
...
This replaces the standard duo_devices upsert with a PostgreSQL specific one and ensures the u2f_devices upsert uses the new unique key for the ON CONFLICT check.
2021-12-02 15:16:45 +11:00
James Elliott
bf9ab360bd
refactor(handlers): utilize referer for auth logging rm/rd ( #2655 )
...
This utilizes the referrer query parameters instead of current request query parameters for logging the requested URI and method. Minor performance improvements to header peek/sets.
2021-12-02 13:21:46 +11:00
James Elliott
f3f3b31b12
refactor(storage): totp_configurations table ( #2657 )
...
Rename column totp_period to period.
2021-12-02 12:24:10 +11:00
James Elliott
2075e76015
fix(storage): new auth log schema request method length ( #2656 )
...
This is a fix to the authentication_logs schema that prevents the VARCHAR from being insufficient for HTTP request methods such as PATCH, DELETE, OPTIONS, CONNECT.
2021-12-02 11:36:04 +11:00
James Elliott
7df242f1e3
refactor: remove ioutil ( #2635 )
...
Was deprecated in 1.16 and has more performant options available.
2021-12-02 00:14:15 +11:00
James Elliott
8a12af97ab
refactor: remove previously deprecated options ( #2629 )
...
This removes the deprecated logging, host, port, and tls options per our deprecation policy.
2021-12-02 00:01:32 +11:00
James Elliott
ad8e844af6
feat(totp): algorithm and digits config ( #2634 )
...
Allow users to configure the TOTP Algorithm and Digits. This should be used with caution as many TOTP applications do not support it. Some will also fail to notify the user that there is an issue. i.e. if the algorithm in the QR code is sha512, they continue to generate one time passwords with sha1. In addition this drastically refactors TOTP in general to be more user friendly by not forcing them to register a new device if the administrator changes the period (or algorithm).
Fixes #1226 .
2021-12-01 23:11:29 +11:00
Philipp Staiger
01b77384f9
feat(duo): multi device selection ( #2137 )
...
Allow users to select and save the preferred duo device and method, depending on availability in the duo account. A default enrollment URL is provided and adjusted if returned by the duo API. This allows auto-enrollment if enabled by the administrator.
Closes #594 . Closes #1039 .
2021-12-01 14:32:58 +11:00
James Elliott
ab8f9b0697
fix(notifier): force use of sender email in smtp from cmd ( #2616 )
...
This change addresses an issue with the usage of the full sender configuration option in the MAIL FROM SMTP command. If a user includes a name in the sender this shouldn't be sent in the MAIL FROM command, instead we should extract it and use just the email portion.
Fixes #2571
2021-11-30 22:15:21 +11:00
James Elliott
9ceee6c660
feat(storage): only store identity token metadata ( #2627 )
...
This change makes it so only metadata about tokens is stored. Tokens can still be resigned due to conversion methods that convert from the JWT type to the database type. This should be more efficient and should mean we don't have to encrypt tokens or token info in the database at least for now.
2021-11-30 17:58:21 +11:00
James Elliott
bc3b0fda35
feat(regulator): enhance authentication logs ( #2622 )
...
This adds additional logging to the authentication logs such as type, remote IP, request method, redirect URL, and if the attempt was done during a ban. This also means we log attempts that occur when the attempt was blocked by the regulator for record keeping purposes, as well as record 2FA attempts which can be used to inform admins and later to regulate based on other factors.
Fixes #116 , Fixes #1293 .
2021-11-29 14:09:14 +11:00
James Elliott
347bd1be77
feat(storage): encrypted secret values ( #2588 )
...
This adds an AES-GCM 256bit encryption layer for storage for sensitive items. This is only TOTP secrets for the time being but this may be expanded later. This will require a configuration change as per https://www.authelia.com/docs/configuration/migration.html#4330 .
Closes #682
2021-11-25 12:56:58 +11:00
renovate[bot]
290e3f7aaa
build(deps): update alpine docker tag to v3.15.0 ( #2631 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-25 08:46:44 +11:00
renovate[bot]
c128359c74
build(deps): update haproxy docker tag to v2.5.0 ( #2624 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-24 11:36:46 +11:00
James Elliott
3695aa8140
feat(storage): primary key for all tables and general qol refactoring ( #2431 )
...
This is a massive overhaul to the SQL Storage for Authelia. It facilitates a whole heap of utility commands to help manage the database, primary keys, ensures all database requests use a context for cancellations, and paves the way for a few other PR's which improve the database.
Fixes #1337
2021-11-23 20:45:38 +11:00
Amir Zarrinkafsh
0be883befb
feat: customizable static assets ( #2597 )
...
* feat: customizable static assets
This change provides the means to override specific assets from the embedded Go FS with files situated on disk.
We only allow overriding the following files currently:
* favicon.ico
* logo.png
* refactor(server): make logo string a const
* refactor(suites): override favicon and use ntp3 in traefik2 suite
* test(suites): test logo override in traefik2 suite
* test(suites): test asset override fallback in traefik suite
Closes #1630 .
2021-11-15 19:37:58 +11:00
renovate[bot]
50f9dc6a4c
build(deps): update alpine docker tag to v3.14.3 ( #2599 )
2021-11-13 11:04:11 +11:00
James Elliott
7efcac6017
fix(session): use crypto/rand for session id generator ( #2594 )
...
This adjusts the session ID generator making it use it's own random function rather than using one from the utils lib. This allows us to utilize crypto/rand or math/rand interchangeably. Additionally refactor the utils.RandomString func.
2021-11-11 20:13:32 +11:00
Dominik Schmidt
c99b6e7294
feat(oidc): include introspection_endpoint in .well-known/openid-configuration
...
This adds the OAuth 2.0 introspection endpoint to the OpenID Connect discovery document.
https://datatracker.ietf.org/doc/html/draft-ietf-oauth-discovery-10
2021-11-11 14:41:49 +11:00
renovate[bot]
6765b97342
build(deps): update mariadb docker tag to v10.7.1 ( #2585 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-10 15:57:48 +11:00
renovate[bot]
035d084ada
build(deps): update traefik docker tag to v2.5.4 ( #2575 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-09 08:20:38 +11:00
Amir Zarrinkafsh
83488d52a6
refactor(suites): replace selenium with go-rod ( #2534 )
...
* refactor(suites): replace selenium with go-rod
This change replaces [tebeka/selenium](https://github.com/tebeka/selenium ) with [go-rod](https://github.com/go-rod/rod ).
We no longer have a chromedriver/external driver dependency to utilise Selenium as we instead utilise the Chrome Dev Protocol to communicate with the browser.
Rod [documents](https://go-rod.github.io/#/why-rod ) benefits of choosing the library as opposed to the available alternatives.
2021-11-06 00:14:42 +11:00
James Elliott
1ea94dd403
fix(authentication): only check argon2id salt for b64 encoding ( #2529 )
...
This changes the validation of salts for sha512 to be done by the upstream API rather than locally. This allows the salts used in Linux to be utilized with Authelia provided the hash is a sha512 hash.
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-11-05 14:49:45 +11:00
renovate[bot]
ed0efb76b3
build(deps): update haproxy docker tag to v2.4.8 ( #2563 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-04 12:00:23 +11:00
James Elliott
8c6915ab40
docs(session): add redis sentinel username to config template ( #2554 )
...
This adds the redis sentinel username to the config templates.
2021-10-31 14:26:58 +11:00
Justin Sievenpiper
04831c2433
feat(session): add support for acl-based sentinel auth against redis ( #2516 )
...
Implements the sentinel username parameter which can be different to the redis username.
2021-10-31 11:49:27 +11:00