Quentin Gliech cf732ac8f0 Always ask for consent, never for reauth
Now that we have deduplicated clients, we're in this weird situation
where authorization grants just… go through.

This is because 4 years ago, I designed it to support prompt=consent and
prompt=none, but that never ended up being used/mentioned in the MSCs.

We also had support for max_age, but that required reauthing, which
doesn't work well with upstream providers.

So this removes support for prompt=consent|none and max_age, and makes
sure we always go through the consent page.

Lots of code deleted, yay!
2025-04-10 19:57:45 +02:00
2025-03-24 13:53:34 +01:00
2025-04-06 16:19:16 +02:00
2025-04-10 11:49:30 +00:00
2022-07-04 15:49:58 +02:00
2021-06-10 13:48:28 +02:00
2021-07-09 16:03:39 +02:00
2025-04-06 16:19:16 +02:00
2024-09-10 14:28:55 +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 40 MiB
Languages
Rust 83.9%
TypeScript 9%
HTML 4%
Open Policy Agent 1.2%
CSS 0.9%
Other 0.8%