reivilibre 49e8fe57f4 Improve errors when MAS contacts the Synapse homeserver (#2794)
* Add some drive-by docstrings

* Change text rendering of catch_http_codes::HttpError

Using `#[source]` is unnatural here because it makes it look like
two distinct errors (one being a cause of the other),
when in reality it is just one error, with 2 parts.

Using `Display` formatting for that leads to a more natural error.

* Add constraints to `catch_http_code{,s}` methods

Not strictly required, but does two things:

- documents what kind of function is expected
- provides a small extra amount of type enforcement at the call site,
  rather than later on when you find the result doesn't implement Service

* Add a `catch_http_errors` shorthand

Nothing major, just a quality of life improvement so you don't have to
repetitively write out what a HTTP error is

* Unexpected error page: remove leading whitespace from preformatted 'details' section

The extra whitespace was probably unintentional and makes the error harder to read,
particularly when it wraps onto a new line unnecessarily

* Capture and log Matrix errors received from Synapse

* Drive-by clippy fix: use clamp instead of min().max()

* Convert `err(Display)` to `err(Debug)` for `anyhow::Error`s in matrix-synapse support module
2024-06-07 11:14:04 +00:00
2024-05-15 09:38:10 +02:00
2024-05-07 07:32:02 +02:00
2022-07-04 15:49:58 +02:00
2023-10-09 15:53:13 +02:00
2021-06-10 13:48:28 +02:00
2021-07-09 16:03:39 +02:00
2021-09-25 18:00:32 +02:00
2023-09-13 14:57:01 +02:00
2021-07-08 14:41:54 +02:00

OAuth2.0 + OpenID Connect Provider for Matrix Homeservers

MAS (Matrix Authentication Service) is an OAuth 2.0 and OpenID Provider server for Matrix.

It has been created to support the migration of Matrix to an OpenID Connect (OIDC) based authentication layer as per MSC3861.

See the Documentation for information on installation and use.

You can learn more about Matrix and OIDC at areweoidcyet.com.

Delegated OIDC architecture with MAS overview

Features

  • Supported homeservers
    • Synapse
  • Authentication methods:
  • Migration support
    • Compatibility layer for legacy Matrix authentication
    • Advisor on migration readiness
    • Import users from Synapse
    • Import password hashes from Synapse
    • Import of external subject IDs for upstream identity providers from Synapse

Upstream Identity Providers

MAS is known to work with the following upstream IdPs via OIDC:

S
Description
No description provided
Readme AGPL-3.0 68 MiB
Languages
Rust 83.2%
TypeScript 9.8%
HTML 4%
Open Policy Agent 1.1%
CSS 0.9%
Other 0.8%