Quentin Gliech
77713c72ba
admin: rename the can_request_admin field to admin
2024-08-07 20:02:48 +02:00
Quentin Gliech
3539297bb4
admin: set can_request_admin API
2024-08-07 20:02:48 +02:00
reivilibre
5d4a4a6fb8
Add rate-limiting for account recovery and registration ( #3093 )
...
* Add rate-limiting for account recovery and registration
* Rename login ratelimiter `per_address` to `per_ip` for consistency
Co-authored-by: Quentin Gliech <quenting@element.io >
2024-08-07 17:57:36 +00:00
reivilibre
244f8f5e5e
Add configuration for rate-limiting of logins, replacing hardcoded limits ( #3090 )
2024-08-07 18:36:02 +01:00
Quentin Gliech
1bdad262cd
Disallow OAuth 2.0 use of the GraphQL API by default
2024-08-07 18:09:51 +02:00
Quentin Gliech
b4eb93558d
admin: add simple snapshot test for the list oauth2 sessions endpoint
2024-08-07 17:41:18 +02:00
Quentin Gliech
dd58fffdef
admin: add tests for the get OAuth session API
2024-08-07 17:41:18 +02:00
Quentin Gliech
cf9f201337
admin: get OAuth 2.0 session API
2024-08-07 17:41:18 +02:00
Quentin Gliech
4f52840bf3
admin: list OAuth 2.0 sessions API
2024-08-07 17:41:18 +02:00
Quentin Gliech
83e4aa476f
admin: setup base for oauth2 sessions endpoints
2024-08-07 17:41:18 +02:00
Quentin Gliech
19d485a68b
admin: model definition for the OAuth 2.0 sessions
2024-08-07 17:41:18 +02:00
dependabot[bot]
b63d3498fd
build(deps): bump rustls-pki-types from 1.7.0 to 1.8.0
...
Bumps [rustls-pki-types](https://github.com/rustls/pki-types ) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/rustls/pki-types/releases )
- [Commits](https://github.com/rustls/pki-types/compare/v/1.7.0...v/1.8.0 )
---
updated-dependencies:
- dependency-name: rustls-pki-types
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-07 15:21:47 +02:00
Quentin Gliech
c61a52a3a0
admin: better error when password auth is disabled
2024-08-07 15:10:19 +02:00
Quentin Gliech
475a43df71
admin: check password complexity in password set API
2024-08-07 15:10:19 +02:00
Quentin Gliech
8b5d576018
admin: set password API
2024-08-07 15:10:19 +02:00
Quentin Gliech
9ea77a9562
admin: lock user API
2024-08-06 13:43:13 +02:00
Quentin Gliech
2307c05c69
admin: user unlock API
2024-08-06 13:31:28 +02:00
Quentin Gliech
117e124ddf
admin: user deactivation API
2024-08-06 11:48:19 +02:00
dependabot[bot]
e23baff996
build(deps): bump rustls-pemfile from 2.1.2 to 2.1.3
...
Bumps [rustls-pemfile](https://github.com/rustls/pemfile ) from 2.1.2 to 2.1.3.
- [Release notes](https://github.com/rustls/pemfile/releases )
- [Commits](https://github.com/rustls/pemfile/compare/v/2.1.2...v/2.1.3 )
---
updated-dependencies:
- dependency-name: rustls-pemfile
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-04 23:12:58 +02:00
dependabot[bot]
0fbb21aea0
build(deps): bump the sea-query group with 2 updates
...
Bumps the sea-query group with 2 updates: [sea-query](https://github.com/SeaQL/sea-query ) and [sea-query-binder](https://github.com/SeaQL/sea-query ).
Updates `sea-query` from 0.30.7 to 0.31.0
- [Release notes](https://github.com/SeaQL/sea-query/releases )
- [Changelog](https://github.com/SeaQL/sea-query/blob/master/CHANGELOG.md )
- [Commits](https://github.com/SeaQL/sea-query/commits )
Updates `sea-query-binder` from 0.5.0 to 0.6.0
- [Release notes](https://github.com/SeaQL/sea-query/releases )
- [Changelog](https://github.com/SeaQL/sea-query/blob/master/CHANGELOG.md )
- [Commits](https://github.com/SeaQL/sea-query/compare/0.5.0...0.6.0 )
---
updated-dependencies:
- dependency-name: sea-query
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: sea-query
- dependency-name: sea-query-binder
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: sea-query
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-04 23:10:53 +02:00
dependabot[bot]
5c72712391
build(deps): bump regex from 1.10.5 to 1.10.6
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.10.5 to 1.10.6.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.10.5...1.10.6 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-04 22:49:17 +02:00
dependabot[bot]
1ad4091a5c
build(deps): bump indexmap from 2.2.6 to 2.3.0
...
Bumps [indexmap](https://github.com/indexmap-rs/indexmap ) from 2.2.6 to 2.3.0.
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.2.6...2.3.0 )
---
updated-dependencies:
- dependency-name: indexmap
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-02 00:19:27 +02:00
Quentin Gliech
65f1c45095
admin: add operation ID on user add operation
2024-08-01 16:23:08 +02:00
Quentin Gliech
5833f1a2af
handlers: tests for the add user admin API
2024-08-01 16:23:08 +02:00
Quentin Gliech
015f6e2455
handlers: test utility to help request the admin API
2024-08-01 16:23:08 +02:00
Quentin Gliech
94004ce18c
Rename the payload struct to appease clippy
2024-08-01 16:23:08 +02:00
Quentin Gliech
221f227baa
admin: add API to create users
2024-08-01 16:23:08 +02:00
Quentin Gliech
d03dd41345
admin: add operation IDs on user operations & other improvements
...
This also documents better the user list operation parameters
2024-08-01 15:17:14 +02:00
Quentin Gliech
78e988b7cc
Tweak the schema generation and use a common definition for ULIDs
2024-08-01 15:17:14 +02:00
Quentin Gliech
cdecac735e
Tweak the schema to use summary instead of description and add tags
2024-08-01 15:17:14 +02:00
Quentin Gliech
3f947025e2
Host a Swagger UI both in the static documentation and by the server
2024-08-01 15:17:14 +02:00
Quentin Gliech
49826c1aa4
Make the optional configuration sections really optional
2024-08-01 15:00:16 +02:00
Quentin Gliech
8b3451d66f
Move the account-related options out of experimental
2024-08-01 14:50:21 +02:00
dependabot[bot]
5edeb59ef3
build(deps): bump zxcvbn from 3.0.1 to 3.1.0
...
Bumps [zxcvbn](https://github.com/shssoichiro/zxcvbn-rs ) from 3.0.1 to 3.1.0.
- [Changelog](https://github.com/shssoichiro/zxcvbn-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/shssoichiro/zxcvbn-rs/compare/v3.0.1...v3.1.0 )
---
updated-dependencies:
- dependency-name: zxcvbn
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-30 11:51:20 +02:00
Olivier 'reivilibre
8737d6f89b
graphql: Expose CAPTCHA config and whether password registration is enabled
2024-07-26 13:02:58 +01:00
Quentin Gliech
4a275fa4b9
Call retain_recent
periodically on rate limiters
2024-07-26 13:56:45 +02:00
Quentin Gliech
e25c170403
Rate-limit password-based login attempts
2024-07-26 13:56:45 +02:00
Quentin Gliech
f5b4caf520
admin: add APIs to list and get users
2024-07-26 11:36:55 +02:00
Quentin Gliech
c177233b33
Define common response types for the admin API
...
This adds a Single and a Paginated response type, which have links to the next, previous, first and last pages.
2024-07-26 11:36:55 +02:00
Quentin Gliech
27ca7ec108
Add an extractor to check for credentails in the admin API
2024-07-26 11:36:55 +02:00
Quentin Gliech
43ff6dc9d3
doc: auto-generate the API schema in the documentation
2024-07-26 11:36:55 +02:00
Quentin Gliech
76755610cb
config: allow serving the admin API routes
2024-07-26 11:36:55 +02:00
Quentin Gliech
f4f61f0d51
handlers: bootstrap the admin API router
2024-07-26 11:36:55 +02:00
Quentin Gliech
a1b13288ab
axum-utils: make the ErrorWrapper implement std::error::Error
2024-07-26 11:36:55 +02:00
Quentin Gliech
144de0deb2
storage: freeze the error type on BoxRepository
...
This avoids having to deal with traits bounds everywhere. It also moves
the `boxed()` method to the PgRepository, because it was unnecessary to
keep it on the `Repository` trait
2024-07-26 11:36:55 +02:00
Olivier 'reivilibre
48c4c34e88
Remove the server-side rendered account recovery 'finish' form
...
Replace with the React frontend form
2024-07-26 10:20:32 +01:00
Olivier 'reivilibre
c83e052e7f
graphql: use NoSuchRecoveryTicket when link is invalid
2024-07-26 10:20:32 +01:00
Quentin Gliech
e937ea8fa8
Rework assets loading to fix splitting CSS chunks
2024-07-25 12:59:29 +02:00
Quentin Gliech
ee9a01ef40
OTEL: remove custom Header{Injector,Extractor} implementations
2024-07-25 11:27:07 +02:00
Quentin Gliech
d1b9a4980c
Update opentelemetry to 0.24.0
2024-07-25 11:01:43 +02:00