Skip to content

ALeoLeonard/CSCI-E-49-Final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSCI E-49 Cloud Security Final Project

Overview

This project demonstrates a cloud-based application using Node.js, integrated with AWS Cognito for authentication and authorization. It showcases the implementation of OpenID Connect callback handling, user group-based data retrieval, and secure data presentation.

Features

  • OpenID Connect authentication with AWS Cognito.
  • User group verification to display proprietary or public data.
  • Modular architecture for maintainability and scalability.
  • Enhanced security with Helmet, CSRF protection, and rate limiting.

Prerequisites

  • Node.js (Version X.X.X or higher recommended)
  • AWS account and a configured Cognito User Pool
  • MySQL database with the required schema

Installation

  1. Clone the repository to your local machine.
  2. Navigate to the project directory and install dependencies:
npm install
  1. Set up your .env file with the required environment variables:
  • COGNITO_CLIENT_ID
  • COGNITO_CLIENT_SECRET
  • COGNITO_REDIRECT_URI
  • COGNITO_TOKEN_URL
  • Database credentials

Running the Application

To start the application:

npm start

Usage

  • Access the public data endpoint at /.
  • Trigger the OIDC flow by navigating to the Cognito Authorization Endpoint.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published