Welcome to Arka Authentication Service, a lightweight, reusable microservice designed to handle user authentication and authorization for modern distributed and microservices-based applications.
Note: This project is a continuation and refactor of the original Jnet IAM service (
com.jnet.identity_access), created by the same author of this current project, starting from version 0.1.0. It inherits core functionalities and has been adapted and enhanced under the Arka brand
Origin repository: https://github.com/Dev-Jose7/identity-access-service.
Built with Spring Boot and Spring Security, Arka Authentication Service provides all the essential features you need to manage users, roles, permissions, and secure token-based access — so you can focus on building your core business logic.
- User Management: Create, update, and manage users effortlessly.
- Role & Permission Control: Fine-grained access control with roles and permissions.
- JWT Authentication: Secure stateless authentication using JSON Web Tokens.
- Email Verification: Keep your users verified and accounts secure.
- Password Reset: Safe and easy password recovery workflows.
- Rate Limiting & Caching: Protect your service and improve performance using Bucket4j and Caffeine.
- Comprehensive REST API: Fully documented with Swagger/OpenAPI for smooth integration.
| Endpoint | Description |
|---|---|
POST /auth/register |
Register a new user |
POST /auth/login |
User login, returns JWT token |
POST /auth/logout |
Logout user |
POST /auth/refresh |
Refresh JWT token |
POST /auth/verify-email-verification |
Confirm user email verification |
POST /auth/send-email-verification |
Request email verification |
POST /auth/send-password-reset |
Initiate password reset |
POST /auth/confirm-password-reset |
Confirm and apply new password |
This project leverages proven frameworks and libraries to deliver a secure and maintainable solution:
- Spring Boot (Web, Security, Data JPA, Validation, Mail)
- JWT (via com.auth0:java-jwt)
- Caffeine (Caching)
- Bucket4j (Rate limiting)
- Springdoc OpenAPI (API documentation)
- MySQL (Database)
- Lombok (Boilerplate code reduction)
A full list of dependencies is available in the pom.xml.
-
Clone the repository:
git clone https://github.com/Dev-Jose7/arka-authentication-service.git cd arka-authentication-service