Sign inSign up

cryptelic/indentity

By cryptelic

•Updated almost 6 years ago

Image
0

388

cryptelic/indentity repository overview

⁠ma1sd - Federated Matrix Identity Server

Travis-CI build status


  • 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⁠. As an enhanced Identity service, it implements the Identity service API⁠ and several extra 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⁠ 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⁠.

⁠Features

Identity⁠: As a regular Matrix Identity service⁠:

  • Search for people by 3PID using its own Identity stores (Spec⁠)
  • Invite people to rooms by 3PID using its own Identity stores, with notifications to the invitee (Email, SMS, etc.) (Spec⁠)
  • Allow users to add/remove 3PIDs to their settings/profile via 3PID sessions (Spec⁠)
  • Register accounts on your Homeserver with 3PIDs (Spec⁠)

As an enhanced Identity service:

  • Federation⁠: 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⁠: Extensive control of where 3PIDs are transmitted so they are not leaked publicly by users
  • Registration control⁠: Control and restrict user registration based on 3PID patterns or criterias, like a pending invite
  • Authentication⁠: Use your Identity stores to perform authentication in synapse⁠ via the REST password provider⁠
  • Directory search⁠ 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⁠ (Display name, 3PIDs)
  • Bridge Integration⁠: 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⁠ to know if ma1sd is a good fit for you.

⁠Getting started

See the dedicated document⁠

⁠Support

⁠Troubleshooting

A basic troubleshooting guide is available here⁠.

⁠Community

Over Matrix: #ma1sd:ru-matrix.org⁠ (Preview⁠)

⁠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!

⁠FAQ

See the dedicated document⁠

⁠Migration from mxisd

See the migration guide⁠

⁠Contact

Get in touch via:

Tag summary

Content type

Image

Digest

Size

91.9 MB

Last updated

almost 6 years ago

docker pull cryptelic/indentity