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 auth-server 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.ymlandpom.xmlfile 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
BLOGGIOS_MAIL_API_KEY -> Give any value but remember to use same for other microservices too for intercommunication
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
GOOGLE_CLIENT_ID -> Give any random value or if want to test Google OAuth Locally then generate client id and secret from Google Developer Console
GOOGLE_CLIENT_SECRET -> Give any random value or if want to test Google OAuth Locally then generate client id and secret from Google Developer Console
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
CONTRIBUTINGfor 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 💻 |
