Commit Graph

49 Commits

Author SHA1 Message Date
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
67613d9fbe Support ldap:// protocol for ldap url to be backward compatible with v3. 2019-10-30 09:29:43 +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
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
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
Clement Michaud
c487ed0a37 Migrate more tests to mocha. 2019-03-03 11:39:40 +01:00
Clement Michaud
7c2fd91271 Add basic authentication related tests. 2019-03-03 11:39:40 +01:00
Clement Michaud
595ee97182 Add test behavior VisitPageAndWaitUrlIs. 2019-03-03 11:39:40 +01:00
Clement Michaud
c579355c5b Migrate more Cucumber tests into Mocha. 2019-03-03 11:39:40 +01:00
Clement Michaud
efceb66ffa Migrate some tests to mocha. 2019-03-03 11:39:40 +01:00
Clement Michaud
c5af4498ab Introduce the concept of suite in authelia-scripts. 2019-03-03 11:39:40 +01:00
Clement Michaud
e37cca5d45 Add config file in complete suite and remove useless files. 2019-03-03 11:39:40 +01:00
Clement Michaud
cc973c5df3 Rename e2e suites. 2019-03-03 11:39:40 +01:00
Clement Michaud
d3a790627e Fix inactivity Ãe2e tests. 2019-03-03 11:39:40 +01:00
Clement Michaud
d2a547eca6 Fix e2e tests for complete configuration. 2019-03-03 11:39:40 +01:00
Clement Michaud
387187b152 Move minimal configuration into suites directory. 2019-03-03 11:39:40 +01:00