Commit Graph

175 Commits (3113ec2b80ba1517660236eb7e7483da91991b17)

Author SHA1 Message Date
James Elliott 248f1d49d4
feat(oidc): hashed client secrets (#4026)
Allow use of hashed OpenID Connect client secrets.
2022-10-20 14:21:45 +11:00
James Elliott 52102eea8c
feat(authorization): query parameter filtering (#3990)
This allows for advanced filtering of the query parameters in ACL's.

Closes #2708
2022-10-19 14:09:22 +11:00
James Elliott 3a70f6739b
feat(authentication): file password algorithms (#3848)
This adds significant enhancements to the file auth provider including multiple additional algorithms.
2022-10-17 21:51:59 +11:00
James Elliott dc79c8ea59
refactor: any (#4133)
* refactor: any

* refactor: fix test
2022-10-05 16:05:23 +11:00
James Elliott 3f39914c8f
refactor: private key decoding and generators (#4116) 2022-10-03 11:52:29 +11:00
James Elliott ab307397e9
docs: adjust guidelines (#4113)
Small adjustments to the guidelines layout and additional guidelines added.
2022-10-02 14:32:16 +11:00
James Elliott 66ea374227
feat(authentication): permit feature detection failures (#4061)
This adds a configuration option which permits the failure of feature detection (control type OIDs and extension OIDs).
2022-10-02 07:44:18 +11:00
James Elliott ed7092c59a
feat: envoy support (#3793)
Adds support for Envoy and Istio using the X-Authelia-URL header. The documentation will be published just before the release.

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2022-10-01 21:47:09 +10:00
Amir Zarrinkafsh e3f5a574fe
build: add container labels and annotations (#4071)
This adds a new helper which retrieves the build metadata, uses it to generate container labels, and refactors XFlags uses to utilize the same machinery.

Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-09-26 10:05:59 +10:00
James Elliott 2947d35014
ci: fix misc issue template issues (#4020) 2022-09-16 15:44:29 +10:00
James Elliott 3e376404c5
ci: fix misc generator issues (#4019) 2022-09-16 15:16:02 +10:00
James Elliott c756c7b67b
i18n: update translations (#3972) 2022-09-16 15:01:22 +10:00
James Elliott 9c72bc8977
ci: gen github tmpl locales and commitlint (#3759)
This adds several automatic generators for Authelia docs etc.
2022-09-16 14:21:05 +10:00
Manuel Nuñez 3794745bee
build: bootstrap: add pnpm install (#3959)
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2022-09-05 12:13:59 +10:00
James Elliott f17268ee80
docs: remove cobra auto gen tags (#3937) 2022-09-01 12:24:47 +10:00
Amir Zarrinkafsh 7363dea011
build(deps): update swagger-ui to v4.13.0 (#3765) 2022-07-29 15:21:09 +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 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
Amir Zarrinkafsh 647f3eaa5d
build(deps): update swagger-ui to v4.12.0 (#3485) 2022-06-05 22:04:37 +10:00
Manuel Nuñez 3a8fdb3be4
fix: pnpm permissions in dev mode (#3386)
* fix: pnpm permissions

* Update cmd_bootstrap.go

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2022-05-18 13:12:39 +10:00
James Elliott ac4159acff
build(deps): update swagger-ui to v4.11.1 (#3361) 2022-05-14 15:24:45 +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 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
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 b8280dfed6
build(deps): update dependency swagger-ui to 4.10.3 (#3110) 2022-04-04 14:59:27 +10:00
James Elliott 1772a83190
refactor: apply godot recommendations (#2839) 2022-01-31 16:25:15 +11:00
Amir Zarrinkafsh 34b31c7b83
build(deps): update swagger-ui to v4.1.3 (#2736) 2021-12-27 17:00:36 +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 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
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 86865cea29
build(deps): update swagger-ui to v4.1.0 (#2576) 2021-11-09 10:59:01 +11:00
Amir Zarrinkafsh 722f2daf9a
build(deps): update swagger-ui to v3.52.4 (#2493) 2021-10-12 15:52:50 +11:00
Amir Zarrinkafsh 9445878ca2
refactor(web): use transformindexhtml vite hook (#2488) 2021-10-11 20:30:02 +11:00
Clément Michaud 1f28bc9b26
docs: provide installation guidelines for installing missing tools (#2481) 2021-10-09 20:41:02 +02:00
Amir Zarrinkafsh a3e84769b5
feat(web): replace cra with vite (#2457)
* feat(web): replace cra with vite

* fix: add istanbul
* fix: add jest
* fix: inject env vars
* fix: replicate cra output directories
* fix: post-frontend build for go templating
* fix: dynamic publicpath

* fix(web): import resolution with aliases for .module.css files

* refactor(server): baseurl var

* refactor(web): drop babel-jest for esbuild-jest

* refactor(web): add inline sourcemap for coverage bundle

* build(deps): update web deps

* build(deps): downgrade vite-plugin-istanbul to 2.2.0

98bf77dbaa is a breaking change that means production mode builds can no longer be instrumented.

* refactor(web): match frontend name and version

* refactor(web): drop cra readme
2021-10-08 15:00:06 +11:00
Amir Zarrinkafsh 982e1c2638
ci(buildkite): perform frontend install for renovate deps (#2463) 2021-10-07 10:14:52 +11:00
Amir Zarrinkafsh 26de57a297
ci(buildkite): skip front/backend builds for renovate deps (#2462)
* ci(buildkite): skip front/backend builds for renovate deps

* ci(buildkite): make unit-test artifact compression conditional
2021-10-07 09:45:37 +11:00
Amir Zarrinkafsh 3d312cf3b9
refactor: replace yarn with pnpm (#2424)
* Check for pnpm in authelia-scripts
* Improve husky hooks to check for required apps
* Use pnpm in coverage dockerfile
* Use pnpm in dev workflow
* Stop buildx log truncation
* Ignore pnpm lockfile in yamllint
* Update versions required for docker and docker-compose in contributing docs
2021-09-29 17:24:21 +10:00
Amir Zarrinkafsh f37cb76f6f
feat(web): remove sourcemap generation (#2423) 2021-09-28 17:09:31 +10:00
Amir Zarrinkafsh c9f5b3de88
feat(web): replace babel-loader and terser with esbuild (#2422) 2021-09-28 16:27:06 +10:00
Amir Zarrinkafsh d7763a20ec
build(deps): update swagger-ui to v3.52.3 (#2412) 2021-09-26 12:25:14 +10:00
Amir Zarrinkafsh bd6a8e3ea2
feat: hardened authelia binaries (#2410)
* feat: hardened authelia binaries

This change ensures that all Authelia binaries which are compiled and distributed are hardened with the following standards:

* RELRO
* Stack canary
* NX
* PIE/ASLR
* Stripped RPATH AND RUNPATH
* Stripped Symbols
* Fortify

The musl variants currently [do not support Fortify](https://wiki.musl-libc.org/future-ideas.html#Fortify).

* refactor: docker pull for authelia/crossbuild in background
2021-09-26 12:08:47 +10:00
Amir Zarrinkafsh 92ec00d7c5
feat: builds with gox and buildx (#2381)
* feat: builds with gox and buildx

This change builds all of Authelia respective binaries in parallel within a single step and distributes as necessary to subsequent steps, we now also build and distribute for the following OS/Architecture: freebsd/amd64.

Our CI/CD pipeline now also utilises docker buildx as a default for builds and pushes.

* refactor: clean up docker helper

* Remove `authelia-scripts docker push-image` command as all pushes will be performed with buildx and manifests
* Rename the --arch flag to --container
* Add Dockerfile.dev for users that want to build an Authelia container from source without utilising suites
* Set Dockerfile.dev as default for `authelia-scripts docker build` command

* refactor: variant -> container
2021-09-16 22:39:18 +10:00
Amir Zarrinkafsh 719447b719
build(deps): update swagger-ui to v3.52.2 (#2374) 2021-09-14 16:17:13 +10:00
Amir Zarrinkafsh 4b3e7ac724
build(deps): update swagger-ui to v3.52.1 (#2367) 2021-09-13 18:33:51 +10:00
James Elliott b4e570358e
fix: include major in go.mod module directive (#2278)
* build: include major in go.mod module directive

* fix: xflags

* revert: cobra changes

* fix: mock doc
2021-08-11 11:16:46 +10:00
Amir Zarrinkafsh 6033b7df70
build(deps): update swagger-ui to v3.52.0 (#2276) 2021-08-10 11:20:44 +10:00
Amir Zarrinkafsh 2c3bc4a133
fix(cmd): remove microbadger references (#2243)
MicroBadger is dead, so we need to remove all references of it.
2021-08-05 16:36:45 +10:00
James Elliott a7e867a699
feat(configuration): replace viper with koanf (#2053)
This commit replaces github.com/spf13/viper with github.com/knadh/koanf. Koanf is very similar library to viper, with less dependencies and several quality of life differences. This also allows most config options to be defined by ENV. Lastly it also enables the use of split configuration files which can be configured by setting the --config flag multiple times.

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-08-03 19:55:21 +10:00
Amir Zarrinkafsh 03274c171e
build(deps): update swagger-ui to v3.51.2 (#2222) 2021-08-02 14:55:34 +10:00