Clarify README and REST backend doc

This commit is contained in:
Maxime Dor
2017-09-18 10:58:27 +02:00
parent 9babad6b33
commit 9e8dade238
2 changed files with 24 additions and 6 deletions

View File

@@ -171,17 +171,26 @@ systemctl start mxisd
After following the specific instructions to create a config file from the sample: After following the specific instructions to create a config file from the sample:
1. Set the `matrix.domain` value to the domain value used in your Home Server configuration 1. Set the `matrix.domain` value to the domain value used in your Home Server configuration
2. Set an absolute location for the signing keys using `key.path` 2. Set an absolute location for the signing keys using `key.path`
3. Set a location for the default SQLite persistence using `storage.provider.sqlite.database` 3. Configure the E-mail invite sender with items starting in `invite.sender.email`
4. Configure the E-mail invite sender with items starting in `invite.sender.email`
In case your IS public domain does not match your Matrix domain, see `server.name` and `server.publicUrl` In case your IS public domain does not match your Matrix domain, see `server.name` and `server.publicUrl`
config items. config items.
If you want to use the LDAP backend:
## Backends
### LDAP (AD, Samba, LDAP)
If you want to use LDAP backend as an Identity store:
1. Enable it with `ldap.enabled` 1. Enable it with `ldap.enabled`
2. Configure connection options using items starting in `ldap.connection` 2. Configure connection options using items starting in `ldap.connection`
3. You may want to valid default values for `ldap.attribute` items 3. You may want to valid default values for `ldap.attribute` items
### SQL (SQLite, PostgreSQL)
If you want to connect to use a synapse DB (SQLite or PostgreSQL) as Identity store, follow the example config for `sql` config items.
### REST (Webapps/websites integration)
If you want to use the REST backend as an Identity store:
1. Enable it with `rest.enabled`
2. Configure options starting with `rest` and see the dedicated documentation in `docs/backends/rest.md`
# Network Discovery # Network Discovery
To allow other federated Identity Server to reach yours, the same algorithm used for Homeservers takes place: To allow other federated Identity Server to reach yours, the same algorithm used for Homeservers takes place:

View File

@@ -1,16 +1,25 @@
# REST backend # REST backend
The REST backend allows you to query arbitrary REST JSON endpoints as backends for the following flows: The REST backend allows you to query identity data in existing webapps, like:
- Forums (phpBB, Discourse, etc.)
- Custom Identity stores (Keycloak, ...)
- CRMs (Wordpress, ...)
- self-hosted clouds (Nextcloud, ownCloud, ...)
It supports the following mxisd flows:
- Identity lookup - Identity lookup
- Authentication - Authentication
To integrate this backend with your webapp, you will need to implement three specific REST endpoints detailed below.
## Configuration ## Configuration
| Key | Default | Description | | Key | Default | Description |
---------------------------------|---------------------------------------|------------------------------------------------------| ---------------------------------|---------------------------------------|------------------------------------------------------|
| rest.enabled | false | Globally enable/disable the REST backend | | rest.enabled | false | Globally enable/disable the REST backend |
| rest.host | *empty* | Default base URL to use for the different endpoints. | | rest.host | *empty* | Default base URL to use for the different endpoints. |
| rest.endpoints.auth | /_mxisd/identity/api/v1/auth | Endpoint to validate credentials | | rest.endpoints.auth | /_mxisd/identity/api/v1/auth | Endpoint to validate credentials |
| rest.endpoints.identity.single | /_mxisd/identity/api/v1/lookup/single | Endpoint to lookup a single 3PID | | rest.endpoints.identity.single | /_mxisd/identity/api/v1/lookup/single | Endpoint to query a single 3PID |
| rest.endpoints.identity.bulk | /_mxisd/identity/api/v1/lookup/bulk | Endpoint to lookup a list of 3PID | | rest.endpoints.identity.bulk | /_mxisd/identity/api/v1/lookup/bulk | Endpoint to query a list of 3PID |
Endpoint values can handle two formats: Endpoint values can handle two formats:
- URL Path starting with `/` that gets happened to the `rest.host` - URL Path starting with `/` that gets happened to the `rest.host`