Basic Flows Supported for user authentication
In order to use the api's the client apps must send a valid custom header x-app-name
This header uniquely identifies the product instance for our api to connect in order to achieve data isolation at product level
Our IAM API supports two main states for a user: Unauthenticated and Authenticated. Each state allows for different authentication and user management operations.
- Unauthicated User State
- Authenticated User State
When a user is unauthenticated, they can perform the following actions:
Login by Email and Password
Users can authenticate themselves by providing their email and password credentials. This flow is typically used for returning users who have already signed up.
Sign Up by Email and Password
New users can create an account by providing their email, password, and other required information (e.g., first name, last name, phone number). Upon successful sign-up, the user may be automatically logged in or required to verify their email address before gaining access.
Sign In with Google
Users can authenticate using their Google accounts, leveraging the OAuth 2.0 protocol for secure and seamless sign-in.
Sign Up with Google
New users can create an account by authenticating with their Google accounts. This flow simplifies the sign-up process by automatically retrieving user information from Google.
Forgot Password
If a user forgets their password, they can initiate the forgot password flow. This process involves the following steps:
- Request Password Reset Code by Email: The user provides their email address, and a verification code is sent to their registered email.
- Verify Code and Reset Password: The user enters the received verification code and sets a new password.
- Redirect to Login by Email and Password Flow: After successfully resetting the password, the user is redirected to the login by email and password flow to authenticate with their new credentials.