Quentin Gliech
bf276289b6
Fully sync the devices with the homeserver
2024-07-16 09:32:07 +02:00
reivilibre
fbc360d1a9
Backend work to support minimum password complexity ( #2965 )
...
* config: Add minimum password complexity option
* PasswordManager: add function for checking if complexity is sufficient
* Enforce password complexity on registration, change and recovery
* cli: Use exit code 1 for weak passwords
This seems preferable to exit code 0, but ideally we should choose one
and document it.
* Expose minimum password complexity score over GraphQL
2024-07-11 10:17:39 +01:00
Quentin Gliech
3978acd94e
Fix recently added Clippy lints
...
This also ignores the clippy::blocks_in_conditions lint in two crates,
until tracing gets fixed: https://github.com/tokio-rs/tracing/issues/2876
2024-05-07 07:32:02 +02:00
Quentin Gliech
4d1b6aeded
Prompt for all parameters interactively
2024-04-30 12:15:10 +02:00
Quentin Gliech
8c402a1f50
Prompt for username and confirm user creation
2024-04-30 12:15:10 +02:00
Quentin Gliech
1cb48b8026
Add a manage register-user
utility to the CLI
2024-04-30 12:15:10 +02:00
Quentin Gliech
1cf283337b
Load the configuration from a common Figment instance
...
This should avoid loading the same files multiple times.
It should also make it easier to do post-processing on the
configuration, like validation.
This does deprecate one undocumented feature: the ability to override
some fields during the configuration generation using environment
variables.
2024-03-22 13:33:09 +01:00
Quentin Gliech
e4cf2cdaf5
Make the mas-cli manage verify-email
mark the email as primary
2024-03-08 17:25:39 +01:00
Quentin Gliech
ed5893eb20
Save which user session created a compat session
...
This also exposes the user session in the GraphQL API, and allow
filtering on browser session ID on the app session list.
2024-02-21 11:55:58 +01:00
Quentin Gliech
df3ca5ae66
Upgrade clippy lints to 1.74.0 & fix warnings
2023-12-05 17:20:42 +01:00
Quentin Gliech
17e28f56c1
Upgrade Rust to 1.72.0
...
Fixes new clippy errors and upgrade other tools
2023-08-28 18:05:56 +02:00
Quentin Gliech
9289922dfb
Grab a database lock when syncing the config
...
Fixes #1475
2023-08-25 15:48:47 +02:00
Quentin Gliech
8142cad3d6
Call the homeserver for user deactivation
2023-08-03 14:06:34 +02:00
Quentin Gliech
40b49cdd10
Add a way to lock users
2023-08-03 14:06:34 +02:00
Quentin Gliech
ba0f7ea62c
Upgrade all Rust dependencies
...
This includes breaking changes of sqlx 0.7.0
2023-07-17 19:04:06 +02:00
Quentin Gliech
297dbbb6ab
Add a CLI tool to kill all sessions of a user
2023-06-30 15:54:06 +02:00
Quentin Gliech
859c4486bb
Add a CLI tool to trigger a provisioning job for all users
2023-06-29 10:55:48 +02:00
Quentin Gliech
dec9310a32
Sync the OAuth2 clients with CLI and remove redundant CLI tools
2023-06-26 17:24:56 +02:00
Quentin Gliech
4f1b201c74
Define upstream OAuth providers in the config
...
And adds CLI tool to sync them with the database (WIP)
2023-06-26 17:24:56 +02:00
Quentin Gliech
9d5c2a40a1
Pass the claims import preferences on the storage layer
2023-06-26 17:24:56 +02:00
Quentin Gliech
2a514cf452
Add a admin flag to the compatibility session
...
Also adds a CLI tool to issue a compatibility token.
2023-06-16 15:24:38 +02:00
Quentin Gliech
d2d68e9a27
Make password-based login optional
2023-05-23 17:02:02 +02:00
Quentin Gliech
d14ca156ad
storage: split the repository trait
2023-01-24 16:05:14 +01:00
Quentin Gliech
a9facab131
Box the repository everywhere
2023-01-20 17:53:04 +01:00
Quentin Gliech
142fdbd45a
storage: make the Clock a trait
2023-01-18 12:20:30 +01:00
Quentin Gliech
73a921cc30
Split the storage trait from the implementation
2023-01-18 10:38:22 +01:00
Quentin Gliech
195203823a
storage: wrap the postgres repository in a struct
2023-01-13 18:03:37 +01:00
Quentin Gliech
603a26eabd
storage: oauth2 session repository
2023-01-05 16:44:56 +01:00
Quentin Gliech
a7883618be
Better tracing spans
2023-01-04 16:30:38 +01:00
Quentin Gliech
09a567ab17
storage: OAuth2 client repository
2023-01-04 16:30:32 +01:00
Quentin Gliech
1caf776d75
Allow updating clients from the config without truncating them
2023-01-03 16:43:18 +01:00
Quentin Gliech
53172d6a3f
strorage: browser session and user password repositories
2023-01-03 15:58:01 +01:00
Quentin Gliech
13a9d03647
storage: user and user email repository
2023-01-02 15:28:44 +01:00
Quentin Gliech
0faf08fce2
storage: repository pattern for upstream oauth2 providers
2022-12-30 10:55:37 +01:00
Quentin Gliech
ee42250660
Remove the dependency on sqlx in the config crate
2022-12-15 16:51:43 +01:00
Quentin Gliech
533cabe005
Use the new password manager
2022-12-14 16:04:36 +01:00
Quentin Gliech
102571512e
storage: unify most oauth2 related errors
2022-12-08 15:29:15 +01:00
Quentin Gliech
b7cad48bbd
storage: unify user operations errors
2022-12-08 15:29:15 +01:00
Quentin Gliech
feebbd0e97
data-model: simplify users and sessions
2022-12-08 15:29:15 +01:00
Quentin Gliech
df83cdc9a1
mas-cli manage set-password
subcommand
2022-12-05 19:39:51 +01:00
Quentin Gliech
bedcf44741
WIP: upstream OIDC provider support
2022-12-05 19:39:51 +01:00
Quentin Gliech
78778648ca
Allow fetching more nodes by their IDs
2022-11-18 13:43:01 +01:00
Quentin Gliech
f1aa42fae4
Disallow Ulid generation without explicit timestamp and rng
2022-11-02 18:59:00 +01:00
Quentin Gliech
559181c2c3
Pass the rng and clock around
2022-11-02 18:59:00 +01:00
Quentin Gliech
e2142f9cd4
Database refactoring
2022-11-02 18:59:00 +01:00
Quentin Gliech
f5e3aa0404
Migrate to clap v4
2022-09-29 14:33:40 +02:00
Quentin Gliech
a3f1a880aa
Remove some unnecessary dependencies
2022-04-08 09:10:33 +02:00
Quentin Gliech
62f633a716
Move clients to the database
2022-03-08 19:07:46 +01:00
Quentin Gliech
c3ddc088ab
Reorganise CLI crate
2022-02-01 18:49:55 +01:00