Improved README
This commit is contained in:
58
README.md
58
README.md
@@ -1,24 +1,28 @@
|
|||||||
|
mxisd
|
||||||
|
-----
|
||||||

|

|
||||||
|
|
||||||
# Introduction
|
[Overview](#overview) | [Lookup process](#lookup-process) | [Packages](#packages) | [From source](#from-source) | [Integration](#integration) | [Support](#support)
|
||||||
mxisd is an implementation of the Matrix Identity Server which aims to provide an alternative
|
|
||||||
to [sydent](https://github.com/matrix-org/sydent) and an external validation implementation of the
|
|
||||||
[Identity Service API](http://matrix.org/docs/spec/identity_service/unstable.html).
|
|
||||||
|
|
||||||
# Scope
|
# Overview
|
||||||
mxisd is a federated Matrix Identity Server following a cascading lookup model, using LDAP then other identity servers, including the central Matrix servers.
|
mxisd is an implementation of the [Matrix Identity Service specification](https://matrix.org/docs/spec/identity_service/unstable.html)
|
||||||
|
which provides an alternative to the vector.im and matrix.org Identity servers.
|
||||||
|
|
||||||
mxisd is currently read-only, implementation to bind 3PID will follow shortly.
|
mxisd is federated and uses a cascading lookup model which performs lookup from a more authoritative to a less authoritative source, usually doing:
|
||||||
|
- Local identity stores: LDAP, etc.
|
||||||
|
- Federated identity stores: another Identity Server in charge of a specific domain, if applicable
|
||||||
|
- Configured identity stores: another Identiy Server specifically configured, if part of some sort of group trust
|
||||||
|
- Root identity store: vector.im/matrix.org central Identity Server
|
||||||
|
|
||||||
## Contact
|
mxisd only aims to support workflow that does NOT break federation or basic lookup process of the Matrix ecosystem.
|
||||||
If you need help, want to report a bug or just say hi, you can reach us at [#mxisd:kamax.io](https://matrix.to/#/#mxisd:kamax.io)
|
|
||||||
|
|
||||||
For more high-level discussion about the Identity Server architecture/API, go to [#matrix-identity:matrix.org](https://matrix.to/#/#matrix-identity:matrix.org)
|
**NOTE:** mxisd is **NOT** an authenticator module for homeservers. Identity servers are opaque public directories for those who publish their data on it.
|
||||||
|
For more details, please read the [Identity Service specification](https://matrix.org/docs/spec/identity_service/unstable.html).
|
||||||
|
|
||||||
## How does it work
|
# Lookup Process
|
||||||
Default Lookup strategy will use a priority order and a configurable recursive/local type of request.
|
Default Lookup strategy will use a priority order and a configurable recursive/local type of request.
|
||||||
|
|
||||||
### E-mail
|
## E-mail
|
||||||
Given the 3PID `john.doe@example.org`, the following will be performed until a mapping is found:
|
Given the 3PID `john.doe@example.org`, the following will be performed until a mapping is found:
|
||||||
- LDAP: lookup the Matrix ID (partial or complete) from a configurable attribute using a dedicated query.
|
- LDAP: lookup the Matrix ID (partial or complete) from a configurable attribute using a dedicated query.
|
||||||
- DNS: lookup another Identity Server using the domain part of an e-mail and:
|
- DNS: lookup another Identity Server using the domain part of an e-mail and:
|
||||||
@@ -26,12 +30,23 @@ Given the 3PID `john.doe@example.org`, the following will be performed until a m
|
|||||||
- Lookup using the base domain name `example.org`
|
- Lookup using the base domain name `example.org`
|
||||||
- Forwarder: Proxy the request to other configurable identity servers.
|
- Forwarder: Proxy the request to other configurable identity servers.
|
||||||
|
|
||||||
### Phone number
|
## Phone number
|
||||||
Given the phone number `+123456789`, the following lookup logic will be performed:
|
Given the phone number `+123456789`, the following lookup logic will be performed:
|
||||||
- LDAP: lookup the Matrix ID (partial or complete) from a configurable attribute using a dedicated query.
|
- LDAP: lookup the Matrix ID (partial or complete) from a configurable attribute using a dedicated query.
|
||||||
- Forwarder: Proxy the request to other configurable identity servers.
|
- Forwarder: Proxy the request to other configurable identity servers.
|
||||||
|
|
||||||
# Quick start
|
# Packages
|
||||||
|
## Native installer
|
||||||
|
See releases for native installers of supported systems.
|
||||||
|
If none is available, please use other packages or build from source.
|
||||||
|
|
||||||
|
## Docker
|
||||||
|
- https://github.com/doofy/mxisd-docker
|
||||||
|
|
||||||
|
## Debian
|
||||||
|
TODO
|
||||||
|
|
||||||
|
# From Source
|
||||||
## Requirements
|
## Requirements
|
||||||
- JDK 1.8
|
- JDK 1.8
|
||||||
|
|
||||||
@@ -48,7 +63,7 @@ cd mxisd
|
|||||||
3. Provide the LDAP attributes you want to use for lookup
|
3. Provide the LDAP attributes you want to use for lookup
|
||||||
4. Edit an entity in your LDAP database and set the configure attribute with a Matrix ID (e.g. `@john.doe:example.org`)
|
4. Edit an entity in your LDAP database and set the configure attribute with a Matrix ID (e.g. `@john.doe:example.org`)
|
||||||
|
|
||||||
## Run
|
## Test build and configuration
|
||||||
Start the server in foreground:
|
Start the server in foreground:
|
||||||
```
|
```
|
||||||
./gradlew bootRun
|
./gradlew bootRun
|
||||||
@@ -69,7 +84,7 @@ as the reference Home Server implementation [synapse](https://github.com/matrix-
|
|||||||
to an ID server.
|
to an ID server.
|
||||||
See the [Integration section](https://github.com/kamax-io/mxisd#integration) for more details.
|
See the [Integration section](https://github.com/kamax-io/mxisd#integration) for more details.
|
||||||
|
|
||||||
# Install
|
## Install
|
||||||
After [building](#build) the software, run all the following commands as `root` or using `sudo`
|
After [building](#build) the software, run all the following commands as `root` or using `sudo`
|
||||||
1. Prepare files and directories:
|
1. Prepare files and directories:
|
||||||
```
|
```
|
||||||
@@ -104,8 +119,11 @@ systemctl start mxisd
|
|||||||
# Integration
|
# Integration
|
||||||
- [synapse](https://github.com/kamax-io/mxisd/wiki/Synapse-Integration)
|
- [synapse](https://github.com/kamax-io/mxisd/wiki/Synapse-Integration)
|
||||||
|
|
||||||
# Docker
|
# Support
|
||||||
- https://github.com/doofy/mxisd-docker
|
## Community
|
||||||
|
If you need help, want to report a bug or just say hi, you can reach us on Matrix at [#mxisd:kamax.io](https://matrix.to/#/#mxisd:kamax.io)
|
||||||
|
For more high-level discussion about the Identity Server architecture/API, go to [#matrix-identity:matrix.org](https://matrix.to/#/#matrix-identity:matrix.org)
|
||||||
|
|
||||||
# TODO
|
## Professional
|
||||||
- Deb package
|
If you would prefer professional support/custom development for mxisd and/or for Matrix in general, including other open source technologies/products,
|
||||||
|
please visit [our website](https://www.kamax.io/) to get in touch with us and get a quote.
|
||||||
|
Reference in New Issue
Block a user