120 lines
6.1 KiB
Markdown
120 lines
6.1 KiB
Markdown
ma1sd - Federated Matrix Identity Server
|
|
----------------------------------------
|
|

|
|
|
|
- [Overview](#overview)
|
|
- [Features](#features)
|
|
- [Use cases](#use-cases)
|
|
- [Getting Started](#getting-started)
|
|
- [Support](#support)
|
|
- [Contribute](#contribute)
|
|
- [Powered by ma1sd](#powered-by-ma1sd)
|
|
- [FAQ](#faq)
|
|
- [Migration from mxisd](#migration-from-mxisd)
|
|
- [Contact](#contact)
|
|
|
|
---
|
|
|
|
* This project is a fork (not successor) of the https://github.com/kamax-matrix/mxisd, which has been archived and no longer maintained as a standalone product.
|
|
Also, ma1sd is supported by the volunteer not developers of the original project.
|
|
|
|
---
|
|
|
|
# Overview
|
|
ma1sd is a Federated Matrix Identity server for self-hosted Matrix infrastructures with [enhanced features](#features).
|
|
As an enhanced Identity service, it implements the [Identity service API](https://matrix.org/docs/spec/identity_service/r0.2.0.html)
|
|
and several [extra features](#features) that greatly enhance user experience within Matrix.
|
|
It is the one stop shop for anything regarding Authentication, Directory and Identity management in Matrix built in a
|
|
single coherent product.
|
|
|
|
ma1sd is specifically designed to connect to an existing on-premise Identity store (AD/Samba/LDAP, SQL Database,
|
|
Web services/app, etc.) and ease the integration of a Matrix infrastructure within an existing one.
|
|
Check [our FAQ entry](docs/faq.md#what-kind-of-setup-is-ma1sd-really-designed-for) to know if ma1sd is a good fit for you.
|
|
|
|
The core principle of ma1sd is to map between Matrix IDs and 3PIDs (Third-Party IDentifiers) for the Homeserver and its
|
|
users. 3PIDs can be anything that uniquely and globally identify a user, like:
|
|
- Email address
|
|
- Phone number
|
|
- Skype/Live ID
|
|
- Twitter handle
|
|
- Facebook ID
|
|
|
|
If you are unfamiliar with the Identity vocabulary and concepts in Matrix, **please read this [introduction](docs/concepts.md)**.
|
|
|
|
# Features
|
|
[Identity](docs/features/identity.md): As a [regular Matrix Identity service](https://matrix.org/docs/spec/identity_service/r0.2.0.html#general-principles):
|
|
- Search for people by 3PID using its own Identity stores
|
|
([Spec](https://matrix.org/docs/spec/identity_service/r0.2.0.html#association-lookup))
|
|
- Invite people to rooms by 3PID using its own Identity stores, with notifications to the invitee (Email, SMS, etc.)
|
|
([Spec](https://matrix.org/docs/spec/identity_service/r0.2.0.html#invitation-storage))
|
|
- Allow users to add/remove 3PIDs to their settings/profile via 3PID sessions
|
|
([Spec](https://matrix.org/docs/spec/identity_service/r0.2.0.html#establishing-associations))
|
|
- Register accounts on your Homeserver with 3PIDs
|
|
([Spec](https://matrix.org/docs/spec/identity_service/r0.2.0.html#establishing-associations))
|
|
|
|
As an enhanced Identity service:
|
|
- [Federation](docs/features/federation.md): Use a recursive lookup mechanism when searching and inviting people by 3PID,
|
|
allowing to fetch data from:
|
|
- Own Identity store(s)
|
|
- Federated Identity servers, if applicable to the 3PID
|
|
- Arbitrary Identity servers
|
|
- Central Matrix Identity servers
|
|
- [Session Control](docs/threepids/session/session.md): Extensive control of where 3PIDs are transmitted so they are not
|
|
leaked publicly by users
|
|
- [Registration control](docs/features/registration.md): Control and restrict user registration based on 3PID patterns or criterias, like a pending invite
|
|
- [Authentication](docs/features/authentication.md): Use your Identity stores to perform authentication in [synapse](https://github.com/matrix-org/synapse)
|
|
via the [REST password provider](https://github.com/kamax-io/matrix-synapse-rest-auth)
|
|
- [Directory search](docs/features/directory.md) which allows you to search for users within your organisation,
|
|
even without prior contact within Matrix using arbitrary search terms
|
|
- [Auto-fill of user profile](docs/features/authentication.md#profile-auto-fill) (Display name, 3PIDs)
|
|
- [Bridge Integration](docs/features/bridge-integration.md): Automatically bridge users without a published Matrix ID
|
|
|
|
# Use cases
|
|
- Use your existing Identity stores, do not duplicate your users information
|
|
- Auto-fill user profiles with relevant information
|
|
- As an organisation, stay in control of your data so it is not published to other servers by default where they
|
|
currently **cannot be removed**
|
|
- Users can directly find each other using whatever attribute is relevant within your Identity store
|
|
- Federate your Identity server so you can discover others and/or others can discover you
|
|
|
|
Also, check [our FAQ entry](docs/faq.md#what-kind-of-setup-is-ma1sd-really-designed-for) to know if ma1sd is a good fit for you.
|
|
|
|
# Getting started
|
|
See the [dedicated document](docs/getting-started.md)
|
|
|
|
# Support
|
|
## Troubleshooting
|
|
A basic troubleshooting guide is available [here](docs/troubleshooting.md).
|
|
|
|
## Community
|
|
Over Matrix: [#ma1sd:ru-matrix.org](https://matrix.to/#/#ma1sd:ru-matrix.org) ([Preview](https://view.matrix.org/room/!CxwBdgAlaphCARnKTA:ru-matrix.org/))
|
|
|
|
## Commercial
|
|
Sorry, I cannot provide commercial support (at least now). But always try to help you.
|
|
|
|
Don't hesitate to ask about project and feel free to create issues at https://github.com/ma1uta/ma1sd
|
|
|
|
# Contribute
|
|
You can contribute as a community member by:
|
|
- Giving us feedback about your usage of ma1sd, even if it seems unimportant or if all is working well!
|
|
- Opening issues for any weird behaviour or bug. ma1sd should feel natural, let us know if it does not!
|
|
- Helping us improve the documentation: tell us what is good or not good (in an issue or in Matrix), or make a PR with
|
|
changes you feel improve the doc.
|
|
- Contribute code directly: we love contributors! All your contributions will be licensed under AGPLv3.
|
|
|
|
# Powered by ma1sd
|
|
The following projects can use ma1sd under the hood for some or all their features. Check them out!
|
|
- [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)
|
|
- [matrix-register-bot](https://github.com/krombel/matrix-register-bot)
|
|
|
|
# FAQ
|
|
See the [dedicated document](docs/faq.md)
|
|
|
|
# Migration from mxisd
|
|
|
|
See the [migration guide](docs/migration-from-mxisd.md)
|
|
|
|
# Contact
|
|
Get in touch via:
|
|
- Matrix: [#ma1sd:ru-matrix.org](https://matrix.to/#/#ma1sd:ru-matrix.org)
|