# UniAuth UniAuth is a single sign-on application designed to provide a secure and efficient method for managing user authentication. The application is built using Flask, a popular web framework in Python, and offers a straightforward implementation suitable for integrating into various web services. ## Features - **Token-Based Authentication**: Generates and verifies secure authentication tokens. - **Login Required Decorator**: Enhances routes to require user authentication. - **User Authentication**: Validates username and password against stored credentials. - **Secure Cookie Handling**: Sets authentication tokens in cookies with security best practices. ## Getting Started These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. ### Prerequisites - Python 3 - Flask - Werkzeug - ItsDangerous ### Installing 1. Clone the repository: ``` git clone https://git.4angle.com/edward/UniAuth ``` 2. Install the required packages: ``` pip install flask werkzeug itsdangerous ``` 3. Set up the configuration in `config/default.py`. ### Running the Application Run the application using: ``` python main.py ``` The application should now be running on `http://0.0.0.0:5000/`. ## Usage - **Login**: Users can log in by providing their username and password. - **Token Generation**: Upon successful login, a secure token is generated and stored in a cookie. - **Access Protected Routes**: Only authenticated users can access protected routes. ## Contributing Contributions are welcome. If you'd like to contribute to this project, please follow these steps: 1. Fork the repository. 2. Create a new branch for your feature or bug fix. 3. Make your changes and commit them with descriptive messages. 4. Push your changes to your fork. 5. Create a pull request to the main repository's `main` branch. ## License This project is licensed under the MIT License. Feel free to use, modify, and distribute it as per the license terms. See the [LICENSE](LICENSE) file for details. ## Acknowledgments - Flask team for the great web framework - ItsDangerous for secure token generation --- This README provides a basic overview and guide for your application. You can further customize it to include more detailed documentation as needed.