Commit Graph

57 Commits

Author SHA1 Message Date
6cc9f4c54c Refactor dependencies to reduce code base size (#111)
All checks were successful
continuous-integration/drone/push Build is passing
Use crates to reduce code base size :

* `actix-remote-ip` to safely determine user IP location
* `light-openid` for the OpenID primitives & as client to handle federation

Reviewed-on: #111
2023-04-29 11:11:24 +00:00
9b18b787a9 Add authentication from upstream providers (#107)
All checks were successful
continuous-integration/drone/push Build is passing
Let BasicOIDC delegate authentication to upstream providers (Google, GitHub, GitLab, Keycloak...)

Reviewed-on: #107
2023-04-27 10:10:28 +00:00
4f7c56a4b8 Loads clients list only once (#106)
All checks were successful
continuous-integration/drone/push Build is passing
Currently, the list of client is loaded separately for each Actix HTTP handler threads.

In prevision of future improvements, it is worthwhile to load this list only once.

Reviewed-on: #106
2023-04-17 16:49:19 +00:00
85e165bd29 Refactor users management (#8)
* Update users backend interface signatures
2022-12-03 12:28:11 +01:00
fc6ab00e30 Refactor users management (#7)
All checks were successful
continuous-integration/drone/push Build is passing
* Improve general settings management by admin
2022-11-26 16:06:16 +01:00
fcf3ec7036 Refactor users management (#2)
All checks were successful
continuous-integration/drone/push Build is passing
* Create UserBackend trait
2022-11-19 18:18:46 +01:00
65d334b947 Refactor users management
All checks were successful
continuous-integration/drone/push Build is passing
* Shard `src/data/user.rs` into two different files
  * One for user data structure (same file)
  * One for user manipulation (new file: `user_file_entity.rs`)
* Isolate password hashing and verification
2022-11-19 17:52:35 +01:00
bfe65b0216 Add IP location service
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-12 17:02:34 +01:00
cc4a8a962b User can delete his own 2FA login history
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-11-12 11:51:24 +01:00
af383720b7 Merge factors type for authentication 2022-11-11 12:26:02 +01:00
07542abf8b Update actix_identity
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-22 12:21:38 +02:00
6f1e00e737 Add Permissions-Policy header 2022-04-23 20:45:34 +02:00
234e77d08a Block pages indexing 2022-04-23 20:41:31 +02:00
9e345895ff Managed to authenticate user using Webauthn 2022-04-23 20:17:49 +02:00
1d69ea536f Get auth challenge 2022-04-23 18:56:14 +02:00
49716a8bf5 Register user security keys 2022-04-21 19:24:43 +02:00
1f0e6d05c8 Generate & return webauthn registration challenge 2022-04-20 21:06:53 +02:00
ce7118ff81 Display form to enter OTP code 2022-04-19 19:24:07 +02:00
c1677071fc Add a page to choose second factor 2022-04-19 18:27:21 +02:00
5903ec2e8c Refactor login flow 2022-04-19 17:49:57 +02:00
630ebe2ddd Can remove created factors 2022-04-19 16:17:58 +02:00
8cdb47a139 Rename route 2022-04-19 11:05:41 +02:00
65b5c812b1 Can register Authenticator app 2022-04-19 11:01:31 +02:00
3023771334 Start to work on 2FA 2022-04-18 19:23:43 +02:00
489f938b71 Can specify environment variables in client configuration 2022-04-15 21:58:07 +02:00
b867016a71 Start to build userinfo endpoint 2022-04-14 18:39:18 +02:00
53a540139c Emit id_token 2022-04-13 19:07:58 +02:00
d69b44528e Add /openid/token route 2022-04-12 20:40:44 +02:00
b10215ae9c Save open id session 2022-04-09 12:18:59 +02:00
c4bc559b4d Check OpenID request parameters 2022-04-09 11:30:23 +02:00
7978706803 Add openid-connecter discovery route 2022-04-08 18:53:57 +02:00
c7d075f94e Can delete user account 2022-04-08 17:54:51 +02:00
65dac1e923 Can update user information 2022-04-08 16:28:19 +02:00
c9ca23cd82 Can create user accounts 2022-04-07 18:59:48 +02:00
a6acbde093 Dynamically check username 2022-04-07 17:57:10 +02:00
91d71c7006 Start to build edit user form 2022-04-07 17:32:29 +02:00
af903de7c2 Start to build edit user form 2022-04-07 17:04:05 +02:00
754814f04a Display the list of users 2022-04-06 18:03:00 +02:00
da6a494875 Load a list of clients 2022-04-06 17:18:06 +02:00
83e6871997 Can change user password 2022-04-05 17:17:34 +02:00
f21e40d804 Add home route 2022-04-04 17:43:53 +02:00
e1eb64f27c Display account details 2022-04-04 17:39:23 +02:00
9943df4952 Automatically clean failed login attempts 2022-04-03 16:45:25 +02:00
b965fa6b4f Format code 2022-04-03 15:50:49 +02:00
9236b91f12 Block POST requests from unknown origins 2022-04-03 15:48:45 +02:00
9e72e6a044 Delegate session lifetime to actix-identity crate 2022-04-02 17:17:54 +02:00
cb4daa1112 Get identity from middleware 2022-04-02 17:03:51 +02:00
3fdb775308 Start to implement auth middleware 2022-04-02 15:44:09 +02:00
372dfa3f31 User can sign out 2022-04-01 19:05:40 +02:00
eab9bdf7f5 Add actix-identity crate 2022-03-30 16:58:00 +02:00