mirror of
https://github.com/element-hq/matrix-authentication-service.git
synced 2026-06-06 22:02:15 +00:00
4dd56514210e3a2fa11e01c15e4e710573ef78c2
OAuth2.0 + OpenID 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 based architecture as per MSC3861.
See the Documentation for information on installation and use.
Running
- Install Rust and Cargo
- Install Node.js and npm
- Install Open Policy Agent
- Clone this repository
- Build the frontend
cd frontend npm ci npm run build cd .. - Build the Open Policy Agent policies
cd policies make # OR, if you don't have `opa` installed and want to build through the OPA docker image make DOCKER=1 cd .. - Generate the sample config via
cargo run -- config generate > config.yaml - Run a PostgreSQL database locally
docker run -p 5432:5432 -e 'POSTGRES_USER=postgres' -e 'POSTGRES_PASSWORD=postgres' -e 'POSTGRES_DATABASE=postgres' postgres - Update the database URI in
config.yamltopostgresql://postgres:postgres@localhost/postgres - Run the database migrations via
cargo run -- database migrate - Run the server via
cargo run -- server -c config.yaml - Go to http://localhost:8080/
Languages
Rust
83.7%
TypeScript
8.9%
HTML
4.3%
Open Policy Agent
1.2%
CSS
1%
Other
0.8%