026d826a825ffabb7b7e08bc1e4d7ef37c8402b8
This defines an IdentityLayer<R> which is used to bind the request type on the service, which helps with type inference.
OAuth 2.0 authentication server for Matrix
This is an attempt to implement an OAuth 2.0 and OpenID Connect authentication server for Matrix, following MSC2964. Don't expect too much here for now, this is very much a work in progress.
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/
Releases
1
letro-v1.1.5
Latest
Languages
Rust
82.9%
TypeScript
9.8%
HTML
4.4%
Open Policy Agent
1%
CSS
1%
Other
0.8%