Giter VIP home page Giter VIP logo

mxisd's Introduction

mxisd - Federated Matrix Identity Server

Travis-CI build status

Overview

mxisd is a Federated Matrix Identity server for self-hosted Matrix infrastructures with enhanced features. As an enhanced Identity service, it implements the Matrix 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.

mxisd 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.

The core principle of mxisd 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 3PIDs to their settings/profile (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
  • 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

Getting started

See the dedicated document

Support

Community

Over Matrix: #mxisd:kamax.io (Preview)

For more high-level discussion about the Identity Server architecture/API, go to #matrix-identity:kamax.io

Commercial

If you would prefer professional support/custom development for mxisd and/or for Matrix in general, including other open source technologies/products:

Contribute

You can contribute as a community member by:

  • Giving us feedback about your usage of mxisd, even if it seems unimportant or if all is working well!
  • Opening issues for any weird behaviour or bug. mxisd 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.
  • Donate! Any donation is welcome, regardless how small or big, and will directly be used for the fixed costs and developer time of mxisd.

You can contribute as an organisation/corporation by:

  • Get a support contract. This is the best way you can help us as it ensures mxisd is maintained regularly and you get direct access to the support team.
  • Sponsoring new features or bug fixes. Get in touch so we can discuss it further.

FAQ

See the dedicated document

Contact

Get in touch via:

mxisd's People

Contributors

adrnam avatar thegcat avatar doofy avatar kiorky avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.