Lots of new awesome documentation
This commit is contained in:
24
docs/README.md
Normal file
24
docs/README.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Table of Contents
|
||||
|
||||
- Installation
|
||||
- [Debian package](install/debian.md)
|
||||
- [Docker](install/docker.md)
|
||||
- [Build from source](build.md)
|
||||
- [Configuration](configure.md)
|
||||
- Features
|
||||
- [Matrix Identity Service](features/identity.md)
|
||||
- [Homeserver Authentication](features/authentication.md)
|
||||
- [Directory seach](features/directory-users.md)
|
||||
- [Identity server Federation](features/federation.md)
|
||||
- [Bridge integration](features/bridge-integration.md)
|
||||
- Backends
|
||||
- [LDAP](backends/ldap.md)
|
||||
- [SQL](backends/sql.md)
|
||||
- [REST](backends/rest.md)
|
||||
- [Google Firebase](backends/firebase.md)
|
||||
- Notifications
|
||||
- Handlers
|
||||
- [Basic](threepids/notifications/basic-handler.md)
|
||||
- [SendGrid](threepids/notifications/sendgrid-handler.md)
|
||||
- [Sessions](sessions/3pid.md)
|
||||
- [Views](sessions/3pid-views.md)
|
9
docs/backends/firebase.md
Normal file
9
docs/backends/firebase.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Google Firebase
|
||||
## Configuration
|
||||
To be completed. For now, see default structure and values:
|
||||
```
|
||||
firebase:
|
||||
enabled: false
|
||||
credentials: '/path/to/firebase/credentials.json'
|
||||
database: 'https://my-project.firebaseio.com/'
|
||||
```
|
86
docs/backends/ldap.md
Normal file
86
docs/backends/ldap.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# AD/Samba/LDAP backend
|
||||
## Configuration
|
||||
### Structure and default values
|
||||
```
|
||||
ldap:
|
||||
enabled: false
|
||||
filter: ''
|
||||
connection:
|
||||
host: ''
|
||||
tls: false
|
||||
port: 389
|
||||
bindDn: ''
|
||||
bindPassword: ''
|
||||
baseDn: ''
|
||||
attribute:
|
||||
uid:
|
||||
type: 'uid'
|
||||
value: 'userPrincipalName'
|
||||
name: 'displayName'
|
||||
threepid:
|
||||
email:
|
||||
- 'mailPrimaryAddress'
|
||||
- 'mail'
|
||||
- 'otherMailbox'
|
||||
msisdn:
|
||||
- 'telephoneNumber'
|
||||
- 'mobile'
|
||||
- 'homePhone'
|
||||
- 'otherTelephone'
|
||||
- 'otherMobile'
|
||||
- 'otherHomePhone'
|
||||
auth:
|
||||
filter: ''
|
||||
directory:
|
||||
attribute:
|
||||
other: []
|
||||
filter: ''
|
||||
identity:
|
||||
filter: ''
|
||||
medium:
|
||||
email: ''
|
||||
msisdn: ''
|
||||
```
|
||||
### General
|
||||
| Item | Description |
|
||||
|-----------|-------------------------------------------------------------------------------------------|
|
||||
| `enabled` | Globaly enable/disable the LDAP backend |
|
||||
| `filter` | Global filter to apply on all LDAP queries. Can be overwritten in each applicable section |
|
||||
|
||||
### Connection
|
||||
| Item | Description |
|
||||
|----------------|------------------------------------------------------|
|
||||
| `host` | Host to connect to |
|
||||
| `port` | Port to use |
|
||||
| `tls` | boolean to use TLS or not (STARTLS is not supported) |
|
||||
| `bindDn` | Bind DN for authentication |
|
||||
| `bindPassword` | Bind password |
|
||||
| `baseDn` | Base DN for queries |
|
||||
|
||||
### Attributes
|
||||
| Item | Description |
|
||||
|-------------|------------------------------------------------------------------------------------------------------------------------|
|
||||
| `uid.type` | Indicate how to process the User ID (UID) attribute: |
|
||||
| | - `uid` will consider the value as the [Localpart](https://matrix.org/docs/spec/intro.html#user-identifiers) |
|
||||
| | - `mxid` will consider the value as a complete [Matrix ID](https://matrix.org/docs/spec/intro.html#user-identifiers) |
|
||||
| `uid.value` | Attribute name refering to the User ID. This is typically `userPrincipalName` on AD/Samba setups and `uid` in LDAP |
|
||||
| `name` | Attribute name that contains the [Display Name](https://matrix.org/docs/spec/intro.html#profiles) of the user |
|
||||
| `threepid` | Namespace where each key is a 3PID type and contains a list of attributes |
|
||||
|
||||
### Authentication
|
||||
| Item | Description |
|
||||
|----------|--------------------------------------------------------------------------------------------------|
|
||||
| `filter` | Specific user filter applied during authentication. Global filter is used if empty/blank/not set |
|
||||
|
||||
### Directory
|
||||
| Item | Description |
|
||||
|-------------------|---------------------------------------------------------------------|
|
||||
| `attribute.other` | Additional attributes to be used when performing directory searches |
|
||||
| `filter` | Specific user filter applied during directory search. |
|
||||
| | Global filter is used if empty/blank/not set |
|
||||
|
||||
### Identity
|
||||
| Item | Description |
|
||||
|----------|---------------------------------------------------------------------------------------------------|
|
||||
| `filter` | Specific user filter applied during identity search. Global filter is used if empty/blank/not set |
|
||||
| `medium` | Namespace to overwrite generated queries from the list of attributes for each 3PID medium |
|
23
docs/backends/sql.md
Normal file
23
docs/backends/sql.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# SQL Backend
|
||||
## Configuration
|
||||
To be completed. For now, see default structure and values:
|
||||
```
|
||||
sql:
|
||||
enabled: false
|
||||
type: 'sqlite' or 'postgresql'
|
||||
connection: ''
|
||||
auth:
|
||||
enabled: false
|
||||
directory:
|
||||
enabled: false
|
||||
query:
|
||||
name:
|
||||
type: 'localpart'
|
||||
value: 'SELECT 1'
|
||||
threepid:
|
||||
type: 'localpart'
|
||||
value: 'SELECT 1'
|
||||
identity:
|
||||
type: 'localpart'
|
||||
query: 'SELECT user_id AS uid FROM user_threepids WHERE medium = ? AND address = ?'
|
||||
```
|
105
docs/build.md
Normal file
105
docs/build.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# From source
|
||||
- [Binaries](#binaries)
|
||||
- [Debian package](#debian-package)
|
||||
- [Docker image](#docker-image)
|
||||
|
||||
## Binaires
|
||||
### Requirements
|
||||
- JDK 1.8
|
||||
|
||||
### Build
|
||||
```
|
||||
git clone https://github.com/kamax-io/mxisd.git
|
||||
cd mxisd
|
||||
./gradlew build
|
||||
```
|
||||
|
||||
Create a new configuration file by coping `application.example.yaml` to `application.yaml` and edit to your needs.
|
||||
For advanced configuration, see the [Configure section](configure.md).
|
||||
|
||||
Start the server in foreground to validate the build and configuration:
|
||||
```
|
||||
java -jar build/libs/mxisd.jar
|
||||
```
|
||||
|
||||
Ensure the signing key is available:
|
||||
```
|
||||
$ curl 'http://localhost:8090/_matrix/identity/api/v1/pubkey/ed25519:0'
|
||||
{"public_key":"..."}
|
||||
```
|
||||
|
||||
Test basic recursive lookup (requires Internet connection with access to TCP 443):
|
||||
```
|
||||
$ curl 'http://localhost:8090/_matrix/identity/api/v1/lookup?medium=email&address=mxisd-lookup-test@kamax.io'
|
||||
{"address":"mxisd-lookup-test@kamax.io","medium":"email","mxid":"@mxisd-lookup-test:kamax.io",...}
|
||||
```
|
||||
|
||||
If you enabled LDAP, you can also validate your config with a similar request after replacing the `address` value with
|
||||
something present within your LDAP
|
||||
```
|
||||
curl 'http://localhost:8090/_matrix/identity/api/v1/lookup?medium=email&address=john.doe@example.org'
|
||||
```
|
||||
|
||||
If you plan on testing the integration with a homeserver, you will need to run an HTTPS reverse proxy in front of it
|
||||
as the reference Home Server implementation [synapse](https://github.com/matrix-org/synapse) requires a HTTPS connection
|
||||
to an ID server.
|
||||
See the [Integration section](#integration) for more details.
|
||||
|
||||
### Install
|
||||
1. Prepare files and directories:
|
||||
```
|
||||
# Create a dedicated user
|
||||
useradd -r mxisd
|
||||
|
||||
# Create bin directory
|
||||
mkdir /opt/mxisd
|
||||
|
||||
# Create config directory and set ownership
|
||||
mkdir /etc/opt/mxisd
|
||||
chown mxisd /etc/opt/mxisd
|
||||
|
||||
# Create data directory and set ownership
|
||||
mkdir /var/opt/mxisd
|
||||
chown mxisd /var/opt/mxisd
|
||||
|
||||
# Copy <repo root>/build/libs/mxisd.jar to bin directory
|
||||
cp ./build/libs/mxisd.jar /opt/mxisd/
|
||||
chown mxisd /opt/mxisd/mxisd.jar
|
||||
chmod a+x /opt/mxisd/mxisd.jar
|
||||
|
||||
# Create symlink for easy exec
|
||||
ln -s /opt/mxisd/mxisd.jar /usr/bin/mxisd
|
||||
```
|
||||
|
||||
2. Copy the sample config file `./application.example.yaml` to `/etc/opt/mxisd/mxisd.yaml`, edit to your needs
|
||||
4. Copy `<repo root>/src/systemd/mxisd.service` to `/etc/systemd/system/` and edit if needed
|
||||
5. Enable service for auto-startup
|
||||
```
|
||||
systemctl enable mxisd
|
||||
```
|
||||
6. Start mxisd
|
||||
```
|
||||
systemctl start mxisd
|
||||
```
|
||||
|
||||
## Debian package
|
||||
### Requirements
|
||||
- fakeroot
|
||||
- dpkg-deb
|
||||
|
||||
### Build
|
||||
[Build mxisd](#build) then:
|
||||
```
|
||||
./gradlew buildDeb
|
||||
```
|
||||
You will find the debian package in `build/dist`
|
||||
|
||||
## Docker image
|
||||
[Build mxisd](#build) then:
|
||||
```
|
||||
./gradlew dockerBuild
|
||||
```
|
||||
You can run a container of the given image and test it with the following command (adapt volumes host paths):
|
||||
```
|
||||
docker run -v /data/mxisd/etc:/etc/mxisd -v /data/mxisd/var:/var/mxisd -p 8090:8090 -t kamax/mxisd:latest-dev
|
||||
```
|
183
docs/configure.md
Normal file
183
docs/configure.md
Normal file
@@ -0,0 +1,183 @@
|
||||
# Configuration
|
||||
- [Syntax](#syntax)
|
||||
- [Variables](#variables)
|
||||
- [Categories](#categories)
|
||||
|
||||
## Syntax
|
||||
The configuration file is YAML based, allowing two types of syntax.
|
||||
|
||||
Properties-like:
|
||||
```
|
||||
my.config.item: 'value'
|
||||
```
|
||||
|
||||
Object-like:
|
||||
```
|
||||
my:
|
||||
config:
|
||||
item: 'value'
|
||||
|
||||
```
|
||||
These can also be combined within the same file.
|
||||
Both syntax will be used interchangeably in these documents.
|
||||
|
||||
Default values for each possible option are documented [here](../src/main/resources/application.yaml)
|
||||
|
||||
## Variables
|
||||
It is possible to copy the value of a configuration item into another using the syntax `${config.key.item}`.
|
||||
Example that will copy the value of `matrix.domain` into `server.name`:
|
||||
```
|
||||
matrix:
|
||||
domain: 'example.org'
|
||||
|
||||
server:
|
||||
name: '${matrix.domain}'
|
||||
```
|
||||
|
||||
**WARNING:** mxisd might overwrite/adapt some values during launch. Those changes will not be reflected into copied keys.
|
||||
|
||||
## Categories
|
||||
For each category below, the base configuration path will be given, which needs to be appened to every configuration
|
||||
item described.
|
||||
|
||||
Example: if the base path was `basePath` and the following table was given:
|
||||
|
||||
| Name | Purpose |
|
||||
|------|---------|
|
||||
| item1 | To give an example |
|
||||
| item2 | To give another example |
|
||||
|
||||
The following configurations could be used, all being equivalent:
|
||||
```
|
||||
basePath.item1: 'myValue'
|
||||
basePath.item2: 'myOtherValue'
|
||||
```
|
||||
```
|
||||
basePath:
|
||||
item1: 'myValue'
|
||||
item2: 'myOtherValue'
|
||||
```
|
||||
```
|
||||
basePath.item1: 'myValue'
|
||||
basePath:
|
||||
item2: 'myOtherValue'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
In case a relative base path is given, it is appended to the one above.
|
||||
|
||||
Example: With base path `basePath`, the relative base `relativeBasePath` and the following table:
|
||||
|
||||
| Name | Purpose |
|
||||
|------|---------|
|
||||
| item1 | To give an example |
|
||||
| item2 | To give another example |
|
||||
|
||||
The following configurations could be used, all being equivalent:
|
||||
```
|
||||
basePath.relativeBasePath.item1: 'myValue'
|
||||
basePath.relativeBasePath.item2: 'myOtherValue'
|
||||
```
|
||||
```
|
||||
basePath:
|
||||
relativeBasePath:
|
||||
item1: 'myValue'
|
||||
item2: 'myOtherValue'
|
||||
```
|
||||
```
|
||||
basePath.relativeBasePath.item1: 'myValue'
|
||||
basePath:
|
||||
relativeBasePath:
|
||||
item2: 'myOtherValue'
|
||||
```
|
||||
|
||||
### Matrix
|
||||
Base path: `matrix`
|
||||
|
||||
| Name | Purpose |
|
||||
|------|---------|
|
||||
| `domain` | Matrix domain name, same as the Homeserver, used to build appropriate Matrix IDs |
|
||||
|
||||
---
|
||||
|
||||
Relative base path: `identity`
|
||||
|
||||
| Name | Purpose |
|
||||
|------|---------|
|
||||
| `servers` | Namespace to create arbitrary list of Identity servers, usable in other parts of the configuration |
|
||||
|
||||
Example:
|
||||
```
|
||||
matrix.identity.servers:
|
||||
root:
|
||||
- 'https://matrix.org'
|
||||
```
|
||||
Create a list under the label `root` containing a single Identity server, `https://matrix.org`
|
||||
### Server
|
||||
| Name | Purpose |
|
||||
|------|---------|
|
||||
| `name` | Public hostname of mxisd, if different from the Matrix domain |
|
||||
| `port` | HTTP port to listen on (unencrypted) |
|
||||
| `publicUrl` | Defaults to `https://${server.name}` |
|
||||
|
||||
### Storage
|
||||
Base path: `storage`
|
||||
|
||||
| Name | Purpose |
|
||||
|------|---------|
|
||||
| `backend` | Specify which SQL backend to use. only `sqlite` is currently supported. |
|
||||
|
||||
---
|
||||
Relative base path: `provider.sqlite`
|
||||
|
||||
| Name | Purpose |
|
||||
|------|---------|
|
||||
| `database` | Absolute location of the SQLite database |
|
||||
|
||||
### Backends
|
||||
- [LDAP](backends/ldap.md)
|
||||
- [SQL](backends/sql.md)
|
||||
- [REST](backends/rest.md)
|
||||
- [Google Firebase](backends/firebase.md)
|
||||
|
||||
### Lookups
|
||||
work in progress, should not be configured.
|
||||
|
||||
### Sessions
|
||||
See the [dedicated document](sessions/3pid.md)
|
||||
|
||||
### Notifications
|
||||
Base path: `notification`
|
||||
|
||||
| Name | Purpose |
|
||||
|------|---------|
|
||||
| handler | Namespace to specify the handler to use for each 3PID |
|
||||
| handlers | Namespace used by individual handlers for their own configuration |
|
||||
|
||||
Example:
|
||||
```
|
||||
notification:
|
||||
handler:
|
||||
email: 'sendgrid'
|
||||
msisdn: 'raw'
|
||||
handlers:
|
||||
raw:
|
||||
...
|
||||
sendgrid:
|
||||
...
|
||||
```
|
||||
- Emails notifications would use the `sendgrid` handler, which define its own configuration user `handlers.sendgrid`
|
||||
- Phone notification would use the `raw` handler, basic default built-in handler of mxisd
|
||||
#### Handlers
|
||||
Relative base path: `handlers`
|
||||
|
||||
Built-in:
|
||||
- [Basic](threepids/notifications/basic-handler.md)
|
||||
- [SendGrid](threepids/notifications/sendgrid-handler.md)
|
||||
|
||||
### Views
|
||||
See the [dedicated document](sessions/3pid-views.md)
|
||||
|
||||
### DNS Overwite
|
||||
Specific to other features.
|
7
docs/features/authentication.md
Normal file
7
docs/features/authentication.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Authentication
|
||||
Performed via [synapse with REST auth module](https://github.com/kamax-io/matrix-synapse-rest-auth/blob/master/README.md)
|
||||
|
||||
Point the `endpoint` to mxisd internal IP on port 8090
|
||||
|
||||
## Profile auto-fill
|
||||
To be documented
|
1
docs/features/bridge-integration.md
Normal file
1
docs/features/bridge-integration.md
Normal file
@@ -0,0 +1 @@
|
||||
To be documented
|
@@ -89,8 +89,7 @@ the `matrix.domain` configuration option and avoid duplicating it.
|
||||
|
||||
### Backends
|
||||
#### LDAP
|
||||
Configuration structure has been altered so queries are automatically built from a global or specific filter and a list
|
||||
of attributes. To ensure Directory feature works, here how the LDAP configuration should look like:
|
||||
To ensure Directory feature works, here's how the LDAP configuration should look like:
|
||||
```
|
||||
ldap:
|
||||
enabled: false
|
||||
@@ -123,12 +122,12 @@ ldap:
|
||||
- 'employeeNumber'
|
||||
- 'someOtherAttribute'
|
||||
```
|
||||
Previous configuration entries that contained queries with the `%3pid` placeholder should not be used anymore, unless
|
||||
specifically overwritten. Instead, add all attributes to the relevant sections.
|
||||
Only include the `attribute` sub-sections if you would like to set another value. Else, it is best not to include them
|
||||
to inherit the default values.
|
||||
|
||||
If you would like to include an attribute which is not a display name or a 3PID, you can use the
|
||||
`directory.attribute.other` to list any extra attributes you want included in searches.
|
||||
If you do not want to include any extra attribute, that configuration section can be skipped.
|
||||
`directory.attribute.other` to list any extra attributes you want included in searches. If you do not want to include
|
||||
any extra attribute, that configuration section can be skipped.
|
||||
|
||||
#### SQL
|
||||
If you plan to integrate directory search directly with synapse, use the `synapseSql` provider, based on the following
|
||||
@@ -137,9 +136,9 @@ config:
|
||||
synapseSql:
|
||||
enabled: true
|
||||
type: <database ID>
|
||||
connection: ``
|
||||
connection: '<connection info>'
|
||||
```
|
||||
`type` and `connection`, including any other configuration item, follow the same values as the regular `sql` backend.
|
||||
`type` and `connection`, including any other configuration item, follow the same values as the regular [SQL backend](../backends/sql.md).
|
||||
|
||||
---
|
||||
|
||||
|
15
docs/features/federation.md
Normal file
15
docs/features/federation.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Identity service Federation
|
||||
To allow other federated Identity Server to reach yours, the same algorithm used for Homeservers takes place:
|
||||
1. Check for the appropriate DNS SRV record
|
||||
2. If not found, use the base domain
|
||||
|
||||
If your Identity Server public hostname does not match your Matrix domain, configure the following DNS SRV entry
|
||||
and replace `matrix.example.com` by your Identity server public hostname - **Make sure to end with a final dot!**
|
||||
```
|
||||
_matrix-identity._tcp.example.com. 3600 IN SRV 10 0 443 matrix.example.com.
|
||||
```
|
||||
This would only apply for 3PID that are DNS-based, like e-mails. For anything else, like phone numbers, no federation
|
||||
is currently possible.
|
||||
|
||||
The port must be HTTPS capable. Typically, TCP port `8090` of mxisd should be behind a reverse proxy which does HTTPS.
|
||||
See the [main README integration section](../README.md#integration) for more details.
|
3
docs/features/identity.md
Normal file
3
docs/features/identity.md
Normal file
@@ -0,0 +1,3 @@
|
||||
To be documented.
|
||||
|
||||
Implementation of the [Matrix Identity service API](https://matrix.org/docs/spec/identity_service/unstable.html)
|
39
docs/install/debian.md
Normal file
39
docs/install/debian.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Debian package
|
||||
## Install
|
||||
1. Donwload the [latest release](https://github.com/kamax-io/mxisd/releases/latest)
|
||||
2. Run:
|
||||
```
|
||||
dpkg -i /path/to/downloaded/mxisd.deb
|
||||
```
|
||||
## Files
|
||||
| Location | Purpose |
|
||||
|-----------------------------------|----------------------------------------------|
|
||||
| /etc/mxisd | Configuration directory |
|
||||
| /etc/mxisd/mxisd.yaml | Main configuration file |
|
||||
| /etc/mxisd/signing.key | Default location for mxisd signing keys |
|
||||
| /etc/systemd/system/mxisd.service | Systemd configuration file for mxisd service |
|
||||
| /usr/lib/mxisd | Binairies |
|
||||
| /var/lib/mxisd | Data |
|
||||
|
||||
## Control
|
||||
Start mxisd using:
|
||||
```
|
||||
sudo systemctl start mxisd
|
||||
```
|
||||
|
||||
Stop mxisd using:
|
||||
```
|
||||
sudo systemctl stop mxisd
|
||||
```
|
||||
|
||||
## Troubleshoot
|
||||
All logs are sent to `STDOUT` which are saved in `/var/log/syslog` by default.
|
||||
You can:
|
||||
- grep & tail using `mxisd`:
|
||||
```
|
||||
tail -n 99 -f /var/log/syslog | grep mxisd
|
||||
```
|
||||
- use Systemd's journal:
|
||||
```
|
||||
journalctl -f n 99 -u mxisd
|
||||
```
|
14
docs/install/docker.md
Normal file
14
docs/install/docker.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Docker
|
||||
## Fetch
|
||||
Pull the latest stable image:
|
||||
```
|
||||
docker pull kamax/mxisd
|
||||
```
|
||||
|
||||
## Run
|
||||
Run it (adapt volume paths to your host):
|
||||
```
|
||||
docker run --rm -v /data/mxisd/etc:/etc/mxisd -v /data/mxisd/var:/var/mxisd -p 8090:8090 -t kamax/mxisd
|
||||
```
|
||||
|
||||
For more info, including the list of possible tags, see [the public repository](https://hub.docker.com/r/kamax/mxisd/)
|
@@ -17,7 +17,7 @@
|
||||
- [Sessions disabled](#sessions-disabled)
|
||||
|
||||
## Overview
|
||||
When adding an email, a phone number or any other kind of 3PID (Third-Party Identifier),
|
||||
When adding an email, a phone number or any other kind of 3PID (Third-Party Identifier) in a Matrix client,
|
||||
the identity server is called to validate the 3PID.
|
||||
|
||||
Once this 3PID is validated, the Homeserver will publish the user Matrix ID on the Identity Server and
|
||||
|
66
docs/threepids/notifications/basic-handler.md
Normal file
66
docs/threepids/notifications/basic-handler.md
Normal file
@@ -0,0 +1,66 @@
|
||||
# Basic Notification handler
|
||||
Basic notification handler which uses two components:
|
||||
- Content generator, to produce the notifications
|
||||
- Connectors to send the notification content
|
||||
|
||||
This handler can be used with the 3PID types:
|
||||
- `email`
|
||||
- `msisdn` (Phone numbers)
|
||||
|
||||
## Generators
|
||||
- [Template](template-generator.md)
|
||||
## Connectors
|
||||
- Email
|
||||
- [SMTP](../medium/email/smtp-connector.md)
|
||||
- SMS
|
||||
- [Twilio](../medium/msisdn/twilio-connector.md)
|
||||
|
||||
## Configuration
|
||||
Enabled by default or with:
|
||||
```
|
||||
notification:
|
||||
handler:
|
||||
email: 'raw'
|
||||
```
|
||||
|
||||
**WARNING:** Will be consolidated soon, prone to breaking changes.
|
||||
Structure and default values:
|
||||
```
|
||||
threepid:
|
||||
medium:
|
||||
email:
|
||||
identity:
|
||||
from: ''
|
||||
name: ''
|
||||
connector: 'smtp'
|
||||
generator: 'template'
|
||||
connectors:
|
||||
smtp:
|
||||
host: ''
|
||||
port: 587
|
||||
tls: 1
|
||||
login: ''
|
||||
password: ''
|
||||
generators:
|
||||
template:
|
||||
invite: 'classpath:threepids/email/invite-template.eml'
|
||||
session:
|
||||
validation:
|
||||
local: 'classpath:threepids/email/validate-local-template.eml'
|
||||
remote: 'classpath:threepids/email/validate-remote-template.eml'
|
||||
msisdn:
|
||||
connector: 'twilio'
|
||||
generator: 'template'
|
||||
connectors:
|
||||
twilio:
|
||||
accountSid: ''
|
||||
authToken: ''
|
||||
number: ''
|
||||
generators:
|
||||
template:
|
||||
invite: 'classpath:threepids/sms/invite-template.txt'
|
||||
session:
|
||||
validation:
|
||||
local: 'classpath:threepids/sms/validate-local-template.txt'
|
||||
remote: 'classpath:threepids/sms/validate-remote-template.txt'
|
||||
```
|
9
docs/threepids/notifications/sendgrid-handler.md
Normal file
9
docs/threepids/notifications/sendgrid-handler.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# SendGrid Notification handler
|
||||
To be completed. See [raw possible configuration items](https://github.com/kamax-io/mxisd/blob/master/src/main/resources/application.yaml#L172).
|
||||
|
||||
Enabled with:
|
||||
```
|
||||
notification:
|
||||
handler:
|
||||
email: 'sendgrid'
|
||||
```
|
@@ -64,7 +64,7 @@ This template is used when to user which added their 3PID address to their profi
|
||||
allows remote sessions.
|
||||
|
||||
**NOTE:** 3PID session always require local validation of a token, even if a remote session is enforced.
|
||||
One cannot bind a MXID to the session until both local and remote sessions have been validated.
|
||||
One cannot bind a Matrix ID to the session until both local and remote sessions have been validated.
|
||||
|
||||
#### Placeholders
|
||||
| Placeholder | Purpose |
|
||||
|
Reference in New Issue
Block a user