Skip to content

This project is an implementation of a Single Sign-On (SSO) provider using Spring Boot, Spring Security, Spring Authorization Server, and PostgreSQL.

Notifications You must be signed in to change notification settings

Methuselah-Nwodobeh/AmaliSecureSail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

AmaliSecureSail

An SSO solution for Amalitech Services
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

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

(back to top)

Features

  • 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.

Built With

These are the frameworks and tools used to build this

  • Next
  • React

(back to top)

Getting Started

Prerequisites

  • 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

Setup

  1. Clone the repo
    git clone https://github.com/Methuselah-Nwodobeh/AmaliSecureSail
  2. Configuration:
    1. Configure MongoDB settings in application.properties
    2. Configure Redis settings in application.properties
    3. Create a .env check .env.example for reference
    4. Set system environment variables check .env.example for reference
  3. Build and Run:
    cd AmaliSecureSail
    ./mvnw spring-boot:run
  4. Access the service:
    1. Use an api testing platform or the provided opendocs to test the api to make sure it works as expected

(back to top)

Usage

  • 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.

(back to top)

About

This project is an implementation of a Single Sign-On (SSO) provider using Spring Boot, Spring Security, Spring Authorization Server, and PostgreSQL.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages