The authentication server serves as the backbone for all authentication-related functions within a system. It handles essential tasks such as user login, registration, social login integration, cookie management, and one-time password (OTP) management. User authentication, including login and registration processes, is efficiently managed by the auth server, ensuring secure access to the system's resources. It verifies user credentials, authenticates users, and issues access tokens or session identifiers upon successful authentication. Moreover, the auth server seamlessly integrates social login functionality, allowing users to authenticate using their social media accounts such as Google, Facebook, or Twitter. This enhances user experience by providing alternative authentication methods and leveraging existing social media credentials. Additionally, the auth server is responsible for managing user sessions and cookies. It generates and maintains session tokens or cookies to track user authentication status across multiple requests, ensuring a smooth and secure browsing experience for authenticated users. Furthermore, the auth server handles OTP management, enabling the generation and validation of one-time passwords for additional security measures. This functionality is commonly used for two-factor authentication (2FA) or account recovery processes, adding an extra layer of security to user accounts. Overall, the auth server plays a crucial role in ensuring the security and integrity of the system by managing authentication processes, integrating social login options, handling session management, and facilitating OTP-based authentication. Its robust functionality streamlines user authentication and enhances the overall security posture of the application.
- Java 17
- IntelliJ IDEA (or STS, Eclipse, Visual Studio Code)
- PostgreSQL
- Elasticsearch
- Kafka (if needed)
First, you need to fork the user-service
repo. You can do this by clicking the Fork
button on the top right corner of the repo. If you are new to forking, please watch this YouTube Guide to get started.
Once forked, you can clone the repo by clicking the Clone or Download
button on the top right corner of the forked repo.
Please change the directory after cloning the repository using the cd <folder-name>
command.
Note: Please do not remove and update the
application.yml
andpom.xml
file from the resources and root folder respectively. It contains all the environment variables and dependencies required for development.
Next, open the project in your favourite IDE. We recommended using Intellij Idea but you can use any.
Set the environment variables in your IDE. If you are new at setting environment variables the please go through the below videos
Required Environment Variables
BOOTSTRAP_SERVER -> Link to kafka broker server. You can start kafka broker locally (localhost:9092)
ES_PASSWORD -> Password of your Elasticsearch
ES_SERVER -> Elastic Search password Link (localhost:9200)
ES_USERNAME -> Elasticsearch Username
POSTGRES_DATABASE -> Postgresql Database name
POSTGRES_HOST -> Postgres Database Host
POSTGRES_PASSWORD -> Postgres Database Password
POSTGRES_USERNAME -> Postgresq Database Username
BASE_URL -> Base URL of other microservice as this used for intercommunication. If don't have then give any random value
Any kind of positive contribution is welcome! Please help us to grow by contributing to the project.
If you wish to contribute, you can,
- Star Repositories Bloggios
- Suggest a Feature
- Test the application, and help it improve.
- Improve the app, fix bugs, etc.
- Improve documentation.
- Create content about Bloggios and share it with the world.
Please read
CONTRIBUTING
for details on ourCODE OF CONDUCT
, and the process for submitting pull requests to us.
🆕 New to Open Source? 💡 Follow this guide to jumpstart your Open Source journey 🚀.
We all need support and motivation. Bloggios
is not an exception. Please give this project repositories a ⭐️ to encourage and show that you liked it. Don't forget to leave a star ⭐️ before you move away.
If you found the app helpful, consider supporting us with a coffee.
Thanks goes to these wonderful people (emoji key):
Rohit Parihar 💻 |