https://github.com/simplify9/mtm
Multi-tenant user and tenant management microservice
https://github.com/simplify9/mtm
Last synced: 10 months ago
JSON representation
Multi-tenant user and tenant management microservice
- Host: GitHub
- URL: https://github.com/simplify9/mtm
- Owner: simplify9
- License: mit
- Created: 2020-08-11T05:15:46.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-26T10:06:59.000Z (almost 2 years ago)
- Last Synced: 2024-12-02T19:52:48.485Z (over 1 year ago)
- Language: C#
- Size: 342 KB
- Stars: 8
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
| **Package** | **Version** |
| :----------------:|:----------------------:|
| [`SimplyWorks.MTM`](https://www.nuget.org/packages/SimplyWorks.Mtm.Sdk/)||

## Introduction
_MTM_ is a multi-tenant management system that handles setting up users, authenticating them, and authorizing them for program access.
As the owner of a tenant, _MTM_ allows for you to invite an employee, making them users under your tenancy.
To authenticate a user, _MTM_ returns a [JSON Web Token (JWT)](https://jwt.io), identifying the user's permissions.
## MTM SDK
The [MTM Client](https://github.com/simplify9/Mtm/blob/master/SW.Mtm.Sdk/MtmClient.cs) outlines the steps the user takes to enable _MTM_ onto the program and interact with its many properties.
To complete a cycle on _MTM_, call the following functions:
#### 1- Creating the tenant
The first step is to create a tenant by calling the `CreateTenant` method provided by the SDK, which takes in details in the model of `TenantCreate` and includes the tenant's name for example.
#### 2- Inviting user to tenancy
Then invite the user to reside under the tenancy, calling `Invite`. Given the user accepts the invitation, we can move on to the following step in the cycle.
#### 3- Accepting the invitation
The second step is to accept the invitation by calling `AcceptInvitation` method provided by the SDK, which takes in the details by mode of `InvitationAccept`.
#### 4- Account Creation
This is when _MTM_ completes the cycle, creating for the logged-in user an account, indentifying their role, and enabling access onto the program under the tenancy.
Prompt `CreateAccount` and your user is ready.
#### 5- Logging in
The user logs in, prompting `Login` (which takes in details in the `AccountLogin` model) using their outlined credentials, previously returned by the _MTM_-generated token.
## Additional Properties
Like with most user-based programs, _MTM_ allows users a variety of properties to modify the program's use.
(*Note: the properties marked with an asterisk are limited to the Administrator and Moderators' use*.)
#### - Changing password on user's end
#### - Resetting the password
#### - Seeking sent invitation to user*
#### - Retrieving invitation*
#### - Canceling invite*
#### - Switching Tenants*
#### - Removing account*
#### - Adding an account*
#### - Setting up profile data
#### - Searching Accounts
## Getting support 👷
If you encounter any bugs, don't hesitate to submit an [issue](https://github.com/simplify9/Mtm/issues). We'll get back to you promptly!