# Rusty-Oauth ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Crates.io](https://img.shields.io/crates/v/rusty_oauth) rusty-oauth is a simple, lightweight, and efficient Rust crate that facilitates OAuth 2.0 authentication with popular service providers such as Google, GitHub, soon Facebook, and more. This crate provides an easy-to-use interface to handle the OAuth authorization flow, manage tokens, and interact with user data through RESTful APIs. Designed to be minimal yet powerful, OAuth-Rust helps developers integrate secure authentication into their Rust application ## Table of Contents - [Features](#features) - [Installation](#installation) - [Usage](#usage) - [Examples](#examples) - [Contributing](#contributing) - [License](#license) - [Acknowledgements](#acknowledgements) ## Features - Gain Control over the authorization. - Build for developer seeking for low level oauth. - Built in Tls config : So no need to worry about breach of security. - HTTP/2 & HTTP/3 Support: Extending the potential of oauth control over the properties. - Asynchronous | Syncronous : Non-blocking parsing for better performance. ## Installation To include this crate in your project, add the following line to your `Cargo.toml`: ```rust [dependencies] rusty_oauth = "0.1.35" ``` ```env important keys GOOGLE_ID= "" GOOGLE_SECRET="" GITHUB_ID="" GITHUB_SECRET="" RUSTY_SECRET="" ``` ```rust Oauth::new() .id("") .secret("") .scope("email profile") .login("/login") .redirect("/") .provider(rusty_oauth::Provider::GOOGLE) or // rusty_oauth::Provider::GOOGLE .stream(&stream) .response(&response) .build() .unwrap(); let credential = CREDENTIALS.lock().unwrap(); // contains ``` # Acknowledgements This project was created and maintained by Me, To give the ability to developer to gain control over oauth Special thanks to all contributors and the open-source community for their invaluable support, feedback, and contributions. Together, we continue to push the boundaries of what's possible