![Logo](/Methuselah-Nwodobeh/AmaliSecureSail/raw/master/images/logo.png)
An SSO solution for Amalitech Services
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
This project is an implementation of a Single Sign-On (SSO) provider using Spring Boot, Spring Security, and MongoDB. The SSO provider allows users to authenticate once and access multiple services and tools within your company's ecosystem without needing to log in again.
Requirements:
- User Registration
- User Login
- Token validation
- Token Expiration
- User Logout
- Forgot Password
- Role-Based Access Control
- Multi-Factor Authentication
- OAuth2 Authorization Server: Implements OAuth2 authentication and authorization flows to issue access tokens for resource access.
- OpenID Connect Support: Provides support for OpenID Connect, enabling secure authentication and authorization between different applications and services.
- MongoDB Integration: Stores user information, authentication tokens, and other relevant data in a MongoDB database.
- User Management: Allows users to register new accounts, update their profile information, and manage their authentication preferences.
- Session Management: Manages user sessions and supports features like single sign-on (SSO), session timeouts, and session invalidation.
- Secure Communication: Ensures secure communication using HTTPS and proper security configurations.
- Scalability: Built on Spring Boot and MongoDB, providing scalability and flexibility to handle large numbers of users and requests.
These are the frameworks and tools used to build this
- Java Development Kit (JDK) installed
- MongoDB installed and running locally or accessible via a remote server/docker
- Basic understanding of Spring Boot, Spring Security, and MongoDB
- Clone the repo
git clone https://github.com/Methuselah-Nwodobeh/AmaliSecureSail
- Configuration:
- Configure MongoDB settings in
application.properties
- Configure Redis settings in
application.properties
- Create a
.env
check.env.example
for reference - Set system environment variables check
.env.example
for reference
- Configure MongoDB settings in
- Build and Run:
cd AmaliSecureSail ./mvnw spring-boot:run
- Access the service:
- Use an api testing platform or the provided opendocs to test the api to make sure it works as expected
- Register new users: Users can register new accounts using the registration form.
- Authenticate and authorize: Users can authenticate using their credentials and authorize access to various services and tools.
- Manage user sessions: Sessions are managed securely, providing features like single sign-on (SSO) and session timeouts.
- Integrate with other services: Integrate the SSO provider with other services and tools within your company's ecosystem for seamless authentication and authorization.