1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-08-07 17:03:01 +03:00
Commit Graph

1563 Commits

Author SHA1 Message Date
Quentin Gliech
58fd6ab4c1 Allow disabling registrations (#2553) 2024-04-03 09:27:14 +02:00
Kévin Commaille
d3d11594f3 Create the AccountManagementError enum
Otherwise it forces dependant crates to add serde_urlencoded as a dependency
just to be able to forward the error type.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-04-02 16:26:24 +02:00
Quentin Gliech
a03728743b Bump most frontend dependencies 2024-03-29 19:28:30 +01:00
Quentin Gliech
8e7bb26a51 Simplify ConfigurationSection trait & skip default values when serializing
This removes the `test` and `generate` methods from the
`ConfigurationSection` trait, as they did not really had a reason to
exist in the trait itself.
2024-03-22 13:33:09 +01:00
Quentin Gliech
fc7489c5f8 Flatten the upstream_oauth2 config section 2024-03-22 13:33:09 +01:00
Quentin Gliech
aa6178abe6 Flatten the telemetry config section 2024-03-22 13:33:09 +01:00
Quentin Gliech
809fe16d29 Flatten the secrets config section 2024-03-22 13:33:09 +01:00
Quentin Gliech
156dc08280 Clean up the default policy config data 2024-03-22 13:33:09 +01:00
Quentin Gliech
f5b34b5b18 Flatten the passwords config section 2024-03-22 13:33:09 +01:00
Quentin Gliech
8bc35f63d8 Flatten the http config
Also properly remove the `spa` resource
2024-03-22 13:33:09 +01:00
Quentin Gliech
6d77d0ed25 Flatten the email config 2024-03-22 13:33:09 +01:00
Quentin Gliech
bf50469da1 Flatten the database config 2024-03-22 13:33:09 +01:00
Quentin Gliech
cba431d20e Flatten the clients config 2024-03-22 13:33:09 +01:00
Quentin Gliech
48b6013c4f Move the sub-configuration path to an associated constant 2024-03-22 13:33:09 +01: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
dde907758e Use OTEL semantic conventions constants for most attributes 2024-03-19 17:15:14 +01:00
Quentin Gliech
7e30daf83e Replace parse-display with manual Display/FromStr impls 2024-03-19 16:38:46 +01:00
Kévin Commaille
4eeedbef31 Add account management URL for clients
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-03-19 15:05:27 +01:00
Quentin Gliech
d8f5fdaf5c Moved some dependencies in the workspace and upgrade some dependencies 2024-03-19 14:54:35 +01:00
Kévin Commaille
099eabd137 Put match variant behind feature flag
Without the keystore feature, this variant is not available.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-03-19 12:25:35 +01:00
dependabot[bot]
34d8132114 build(deps): bump wasmtime from 17.0.0 to 18.0.3
Bumps [wasmtime](https://github.com/bytecodealliance/wasmtime) from 17.0.0 to 18.0.3.
- [Release notes](https://github.com/bytecodealliance/wasmtime/releases)
- [Changelog](https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-some-possible-changes.md)
- [Commits](https://github.com/bytecodealliance/wasmtime/compare/v17.0.0...v18.0.3)

---
updated-dependencies:
- dependency-name: wasmtime
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 12:02:37 +01:00
dependabot[bot]
5dc8e73f7e build(deps): bump serde_with from 3.6.0 to 3.7.0
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.6.0...v3.7.0)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 10:40:19 +01:00
dependabot[bot]
880462560b build(deps): bump figment from 0.10.14 to 0.10.15
Bumps [figment](https://github.com/SergioBenitez/Figment) from 0.10.14 to 0.10.15.
- [Commits](https://github.com/SergioBenitez/Figment/compare/v0.10.14...v0.10.15)

---
updated-dependencies:
- dependency-name: figment
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 07:34:37 +01:00
dependabot[bot]
5b5346ebb7 build(deps): bump parse-display from 0.8.2 to 0.9.0
Bumps [parse-display](https://github.com/frozenlib/parse-display) from 0.8.2 to 0.9.0.
- [Changelog](https://github.com/frozenlib/parse-display/blob/master/CHANGELOG.md)
- [Commits](https://github.com/frozenlib/parse-display/compare/v0.8.2...v0.9.0)

---
updated-dependencies:
- dependency-name: parse-display
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 18:44:10 +01:00
Michael Telatynski
70d688913f Add Electron user-agent parsing for Element Desktop/Nightly (#2461) 2024-03-18 18:42:31 +01:00
Michael Telatynski
894602bca1 Render browser icon for compat & browser sessions (#2478)
* Render browser icon for compat & browser sessions

* Use PNGs

* Add support for png resources
2024-03-18 18:41:40 +01:00
Quentin Gliech
eb950151af Upgrade OTEL and remove support for Jaeger and Zipkin exporters 2024-03-18 17:26:40 +01:00
Quentin Gliech
61a69f5af4 Upgrade chrono and replace deprecated methods usage 2024-03-18 17:26:40 +01:00
Kévin Commaille
39a6132ea8 Do not expose error type from mas-keystore in mas-oidc-client
The mas-keystore crate is an optional dependency so
setting "default-features" to false
results in a compilation error.

Since the enum is exhaustive, the corresponding error variant
cannot be behind a cargo feature.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-03-18 12:12:23 +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
6eb6209bd8 Use rustls-platform-verifier for cert validation
This simplifies by removing the mutually exclusive `native-roots` and
`webpki-roots` features with something that is suitable for all
platforms.
2024-03-06 14:03:59 +01:00
Quentin Gliech
c0a9d27e34 Automatically sync the configuration on server startup 2024-03-01 18:14:05 +01:00
dependabot[bot]
1c19bc6e54 build(deps): bump time from 0.3.32 to 0.3.34
Bumps [time](https://github.com/time-rs/time) from 0.3.32 to 0.3.34.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.32...v0.3.34)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 15:51:42 +01:00
Quentin Gliech
3251c5896c Append additional parameters to the OAuth2 authorize endpoint 2024-03-01 14:36:37 +01:00
Quentin Gliech
25fbbf96b9 Load the additional OAuth parameters from the config 2024-03-01 14:36:37 +01:00
Quentin Gliech
1821136e3f Additional parameters from upstream OAuth2 providers in the data model 2024-03-01 14:36:37 +01:00
Quentin Gliech
46c565cc89 Move schemars to workspace dependencies
Also enables the `preserve_order` feature, hence the big schema output diff.
2024-03-01 14:36:37 +01:00
Quentin Gliech
183f7bad40 Test the addUser GraphQL mutation with the new behaviour 2024-02-29 11:21:24 +01:00
Quentin Gliech
35929d48fd Test the user registration form 2024-02-29 11:21:24 +01:00
Quentin Gliech
896ed3f024 Check for username availability upon registration 2024-02-29 11:21:24 +01:00
Quentin Gliech
452f4c17f5 graphql: check that the username is available when creating them
This calls the HS to make sure the username isn't reserved.
This check can be bypassed using the `skipHomeserverCheck` flag on the
`addUser` mutation.
2024-02-29 11:21:24 +01:00
Quentin Gliech
4aeb446061 Make the HomeserverConnection available in handlers 2024-02-29 11:21:24 +01:00
Quentin Gliech
20dd5ca311 Add API to check localpart availability 2024-02-29 11:21:24 +01:00
Quentin Gliech
2c9b8a446d Bump Clippy to 1.75 and Rust to 1.76 2024-02-27 16:58:43 +01:00
dependabot[bot]
4e1ec08915 build(deps): bump pest from 2.7.6 to 2.7.7
Bumps [pest](https://github.com/pest-parser/pest) from 2.7.6 to 2.7.7.
- [Release notes](https://github.com/pest-parser/pest/releases)
- [Commits](https://github.com/pest-parser/pest/compare/v2.7.6...v2.7.7)

---
updated-dependencies:
- dependency-name: pest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-27 14:46:28 +01:00
Quentin Gliech
f3cbd3b315 Parse User Agents on the backend side (#2388)
* Parse user agents on the server side

* Parse and expose user agents on the backend

* Use the parsed user agent in the device consent page

* Fix the device icon tests

* Fix clippy warnings

* Box stuff to avoid large enum variants

* Ignore a clippy warning

* Fix the requester boxing
2024-02-23 16:47:48 +01:00
Quentin Gliech
f171d76dc5 Record user agents on OAuth 2.0 and compat sessions (#2386)
* Record user agents on OAuth 2.0 and compat sessions

* Add tests for recording user agent in sessions
2024-02-22 10:01:32 +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
03b6ad7138 Remove the unique constraint on device IDs on compatibility sessions
In OAuth 2.0 sessions, we can have multiple sessions for the same device
anyway, so this constraint doesn't exactly make sense.

Fixes #2033
Fixes #2312
2024-02-20 15:50:20 +01:00
Quentin Gliech
90cebeeefc Remove unnecessary debugging printf in i18n crate 2024-02-19 17:53:45 +01:00