{"id":22957212,"url":"https://github.com/simplify9/mtm","last_synced_at":"2025-08-13T03:33:02.052Z","repository":{"id":43483884,"uuid":"286652038","full_name":"simplify9/Mtm","owner":"simplify9","description":"Multi-tenant user and tenant management microservice","archived":false,"fork":false,"pushed_at":"2024-08-26T10:06:59.000Z","size":350,"stargazers_count":8,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-02T19:52:48.485Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simplify9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-11T05:15:46.000Z","updated_at":"2024-08-26T10:07:03.000Z","dependencies_parsed_at":"2024-03-31T09:29:14.286Z","dependency_job_id":"f5546ac1-0dca-412e-8b80-c41c59529de8","html_url":"https://github.com/simplify9/Mtm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify9%2FMtm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify9%2FMtm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify9%2FMtm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify9%2FMtm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simplify9","download_url":"https://codeload.github.com/simplify9/Mtm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229730810,"owners_count":18115421,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-14T17:15:40.650Z","updated_at":"2024-12-14T17:15:41.235Z","avatar_url":"https://github.com/simplify9.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"| **Package**       | **Version** |\r\n| :----------------:|:----------------------:|\r\n| [`SimplyWorks.MTM`](https://www.nuget.org/packages/SimplyWorks.Mtm.Sdk/)|![Nuget](https://img.shields.io/nuget/v/SimplyWorks.Mtm.Sdk?style=for-the-badge)|\r\n\r\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\r\n\r\n## Introduction \r\n_MTM_ is a multi-tenant management system that handles setting up users, authenticating them, and authorizing them for program access. \r\n\r\nAs the owner of a tenant, _MTM_ allows for you to invite an employee, making them users under your tenancy. \r\nTo authenticate a user, _MTM_ returns a [JSON Web Token (JWT)](https://jwt.io), identifying the user's permissions. \r\n\r\n## MTM SDK\r\nThe [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. \r\nTo complete a cycle on _MTM_, call the following functions:\r\n \r\n#### 1- Creating the tenant \r\nThe 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.\r\n\r\n#### 2- Inviting user to tenancy \r\nThen 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.\r\n\r\n#### 3- Accepting the invitation \r\nThe second step is to accept the invitation by calling `AcceptInvitation` method provided by the SDK, which takes in the details by mode of `InvitationAccept`. \r\n\r\n#### 4- Account Creation \r\nThis 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. \r\nPrompt `CreateAccount` and your user is ready. \r\n\r\n#### 5- Logging in\r\nThe user logs in, prompting `Login` (which takes in details in the `AccountLogin` model) using their outlined credentials, previously returned by the _MTM_-generated token. \r\n\r\n## Additional Properties\r\nLike with most user-based programs, _MTM_ allows users a variety of properties to modify the program's use.\r\n(*Note: the properties marked with an asterisk are limited to the Administrator and Moderators' use*.)\r\n\r\n#### - Changing password on user's end\r\n\r\n#### - Resetting the password\r\n\r\n#### - Seeking sent invitation to user*\r\n\r\n#### - Retrieving invitation*\r\n\r\n#### - Canceling invite*\r\n\r\n#### - Switching Tenants*\r\n\r\n#### - Removing account*\r\n\r\n#### - Adding an account*\r\n\r\n#### - Setting up profile data\r\n\r\n#### - Searching Accounts \r\n\r\n## Getting support 👷\r\nIf you encounter any bugs, don't hesitate to submit an [issue](https://github.com/simplify9/Mtm/issues). We'll get back to you promptly! \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplify9%2Fmtm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplify9%2Fmtm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplify9%2Fmtm/lists"}