API Docs Help

Identity

Overview

The Identity Service is a crucial component of our system responsible for managing user identities and authentication processes. It provides functionality for user registration, login, authentication, and profile management. Additionally, it supports features for managing companies and inviting members.

Features

User Registration

  • Allows users to create new accounts by providing necessary information such as username, email, and password.

  • Validates user inputs to ensure data integrity and security.

  • Generates unique identifiers for each user.

User Authentication

  • Provides authentication mechanisms to verify the identity of users during login.

  • Supports various authentication methods including password-based authentication, token-based authentication, and OAuth.

Password Management

  • Implements secure password hashing and storage techniques to protect user credentials.

  • Allows users to reset forgotten passwords securely through email verification or security questions.

Profile Management

  • Enables users to manage their profiles by updating personal information, changing passwords, and configuring account settings.

  • Provides options for users to customize their profile settings and privacy preferences.

Company Management

  • Create company or organization With user registration.

  • Enables users to manage company information such as name, description, and settings.

  • Provides administrative features for managing members and permissions within the company.

Member Invitation

  • Allows company administrators to invite new members to join their companies.

  • Generates unique invitation links for each invitee.

  • Supports email notifications for inviting members and tracking invitation status.

Architecture

Components

  • API Layer: Exposes RESTful APIs for client applications to interact with the Identity Service.

  • Database: Stores user data including account information, credentials, and profile details.

  • Authentication Engine: Performs user authentication and authorization checks.

  • User Management Module: Handles user registration, profile management, and password-related operations.

  • Company Management Module: Manages company-related functionalities such as creation, management, and member invitation.

Technologies Used

  • Programming Language: Nodejs

  • Framework: Nest.js

  • Database: PostgreSQL

  • Authentication: JSON Web Tokens (JWT)

  • Password Hashing: bcrypt

Logic Replication

To ensure high availability and fault tolerance, critical components of the Identity Service implement logic replication. This involves duplicating certain logic or processes across multiple servers or instances, allowing for redundancy and failover mechanisms in case of hardware failures or system disruptions. Logic replication helps maintain system reliability and performance even under adverse conditions.

Last modified: 20 October 2024