Commit Graph

176 Commits (1530267b501776c1a26c2305103793490eac7245)

Author SHA1 Message Date
Clement Michaud 3b2d733367 Move source code into internal directory to follow standard project layout.
https://github.com/golang-standards/project-layout
2019-11-17 16:30:33 +01:00
Clement Michaud 6303485fd2 Add support for PostgreSQL. 2019-11-16 23:39:26 +01:00
Clement Michaud 5b836fc4cf Cleanup documentation.
Remove mention of Mongo and basic suites. Also adapt some part
to changes made to authelia-scripts.
2019-11-16 23:39:26 +01:00
Clement Michaud bd19ee48fd Deprecate mongo and add mariadb as storage backend option. 2019-11-16 23:39:26 +01:00
Clement Michaud a991379a74 Declare suites as Go structs and bootstrap e2e test framework in Go.
Some tests are not fully rewritten in Go, a typescript wrapper is called
instead until we remove the remaining TS tests and dependencies.

Also, dockerize every components (mainly Authelia backend, frontend and kind)
so that the project does not interfere with user host anymore (open ports for instance).
The only remaining intrusive change is the one done during bootstrap to add entries in /etc/hosts.
It will soon be avoided using authelia.com domain that I own.
2019-11-15 20:23:06 +01:00
Clement Michaud b9fea361c9 Create suite for testing the docker image.
Running this suite is the first advice given by the
bootstrap script to help the user move forward.

This commit also updates the documentation to reflect
changes introduced by the Go rewrite.
2019-11-03 16:53:47 +01:00
Clement Michaud 0571df4058 Fetch state after logging out. 2019-11-01 19:03:22 +01:00
Clement Michaud 9d7224b7ad Replace typescript version of authelia-scripts by Go version. 2019-11-01 19:03:22 +01:00
Clement Michaud 546616173c Fix randomness in integration tests. 2019-10-30 09:29:43 +01:00
Clement Michaud 67613d9fbe Support ldap:// protocol for ldap url to be backward compatible with v3. 2019-10-30 09:29:43 +01:00
Clement Michaud a86c652485 Isolate test resources under test directory. 2019-10-29 00:40:45 +01:00
Clement Michaud 828f565290 Bootstrap Go implementation of Authelia.
This is going to be the v4.

Expected improvements:
- More reliable due to static typing.
- Bump of performance.
- Improvement of logging.
- Authelia can be shipped as a single binary.
- Will likely work on ARM architecture.
2019-10-28 23:28:59 +01:00
Clement Michaud 4979f2bd2d Remove tests with dockerhub image. 2019-06-28 22:40:06 +02:00
Clement Michaud 186839d6e5 Remove the shared directory and move files to server. 2019-04-17 23:31:56 +02:00
Clement Michaud 4016ff1bba [BREAKING] Create a suite for Traefik proxy.
* Removal of the Redirect header sent by Authelia /api/verify endpoint.
* Authelia does not consume Host header anymore but X-Forwarded-Proto and X-Forwarded-Host
  to compute the link sent in identity verification emails.
* Authelia used Host header as the application name for U2F authentication but it's now using
  X-Forwarded-* headers.
2019-04-12 09:24:54 +02:00
Clement Michaud 36d65c284e Add a test checking forwarded headers on bypass-based resources. 2019-04-10 22:34:15 +02:00
Clement Michaud 8a76b5118d Add network criteria in ACLs to specify policy based on network subnet. 2019-03-31 20:11:07 +02:00
Clement Michaud e7c09fddc6 Simplify nginx example configuration. 2019-03-28 23:14:36 +01:00
Clement Michaud 81207b49ad Fix failing second factor when no default redirection url set.
When no default redirection url was set, Duo push second factor was shown as
failing even if authentication was successful.
2019-03-28 22:38:16 +01:00
Clement Michaud 28cc5e7e1b Fix integration tests. 2019-03-24 23:29:46 +01:00
Clement Michaud a717b965c1 Display only available 2FA methods.
For instance Duo Push Notification method is not displayed if the API
is not configured.
2019-03-24 22:23:25 +01:00
Clement Michaud d09a307ff8 Fix redirection after 2FA method change.
Authelia was using links with href="#" that changed the URL when clicked
on. Therefore, this commit removes the href property and apply link style
to tags without href property.
2019-03-24 20:02:55 +01:00
Clement Michaud 4eaafb7115 Update the documentation to include information on Duo. 2019-03-24 18:45:32 +01:00
Clement Michaud 8ef402511c Add Duo Push Notification option as 2FA. 2019-03-24 15:15:49 +01:00
Clement Michaud d9e487c99f Display only one 2FA option.
Displaying only one option at 2FA stage will allow to add more options
like DUO push or OAuth.

The user can switch to other option and in this case the option is
remembered so that next time, the user will see the same option. The
latest option is considered as the prefered option by Authelia.
2019-03-23 19:34:00 +01:00
Clement Michaud 40574bc8ec Fix the bypass strategy.
Before this fix an anonymous user was not able to access a resource
that were configured with a bypass policy. This was due to a useless
check of the userid in the auth session. Moreover, in the case of an
anonymous user, we should not check the inactivity period since there
is no session.

Also refactor /verify endpoint for better testability and add tests
in a new suite.
2019-03-22 23:51:36 +01:00
Clement Michaud 76fa325f08 [BREAKING] Create a suite for kubernetes tests.
Authelia client uses hash router instead of browser router in order to work
with Kubernetes nginx-ingress-controller. This is also better for users having
old browsers.

This commit is breaking because it requires to change the configuration of the
proxy to include the # in the URL of the login portal.
2019-03-16 00:13:27 +01:00
Clement Michaud f8a12b8482 Fix dead link in README of suites. 2019-03-04 00:02:45 +01:00
Clement Michaud 06aa9803bf Update the documentation to include info about suites and authelia-scripts. 2019-03-03 11:40:32 +01:00
Clement Michaud 6ce0ae5d90 Remove description of suites and use suite name instead. 2019-03-03 11:39:41 +01:00
Clement Michaud e8d7fe4111 Move users_database.yml files to dedicated suites. 2019-03-03 11:39:41 +01:00
Clement Michaud 4c0bb2ce7f Rename some suites and add a README for each of them. 2019-03-03 11:39:41 +01:00
Clement Michaud 6d45692906 Create a specific suite for short timeouts to let humans use simple suite. 2019-03-03 11:39:41 +01:00
Clement Michaud 716ae9d378 Bump mocha to use forbidOnly and forbidPending options. 2019-03-03 11:39:40 +01:00
Clement Michaud c534753c2c Increase timeout to prepare environment to 30 seconds. 2019-03-03 11:39:40 +01:00
Clement Michaud d82ebfab0e Move dockerhub example in a suite. 2019-03-03 11:39:40 +01:00
Clement Michaud 8bf87b6b47 Rename minimal suite into simple. 2019-03-03 11:39:40 +01:00
Clement Michaud a1c9bb6302 Improve authelia-scripts to add suites with Docker-based Authelia server. 2019-03-03 11:39:40 +01:00
Clement Michaud 38271e3335 Better integrate Docker related commands in authelia-scripts. 2019-03-03 11:39:40 +01:00
Clement Michaud a56e5adc42 Create /tmp/authelia/db directory when starting minimal suite. 2019-03-03 11:39:40 +01:00
Clement Michaud d2ae2524b7 Create database directory before running integration tests. 2019-03-03 11:39:40 +01:00
Clement Michaud 4adb0569ac Display Authelia server logs when tests fail. 2019-03-03 11:39:40 +01:00
Clement Michaud ecdc91b221 Leave more room for Authelia to spawn and terminate. 2019-03-03 11:39:40 +01:00
Clement Michaud 7ee1e39b8d Build before running integration tests. 2019-03-03 11:39:40 +01:00
Clement Michaud b3d381bfa7 Fix integration and unit tests. 2019-03-03 11:39:40 +01:00
Clement Michaud 5614bea827 Fix unit tests. 2019-03-03 11:39:40 +01:00
Clement Michaud 50d4ab1368 Finish migrating integration tests to mocha. 2019-03-03 11:39:40 +01:00
Clement Michaud 29e2799021 Use driver methods for minimal suite. 2019-03-03 11:39:40 +01:00
Clement Michaud 3702d6607d Replace WaitRedirected assertion by VerifyUrlIs. 2019-03-03 11:39:40 +01:00
Clement Michaud 036d1a4f51 Replace SeeNotification by VerifyNotificationDisplayed assertion. 2019-03-03 11:39:40 +01:00