Crates.io | rusty_oauth |
lib.rs | rusty_oauth |
version | 0.1.28 |
source | src |
created_at | 2024-10-25 12:17:21.242199 |
updated_at | 2024-11-10 17:07:31.798352 |
description | A lightweight, secure OAuth 2.0 library for Rust, providing streamlined authentication flows for applications and services. Includes support for authorization codes, client credentials, and token management, with focus on security and ease of integration. |
homepage | https://crates.io/crates/rusty_oauth |
repository | https://github.com/HashiramaSenjuhari/rusty_oauth |
max_upload_size | |
id | 1422462 |
size | 79,044 |
rusty-oauth is a simple, lightweight, and efficient Rust crate that facilitates OAuth 2.0 authentication with popular service providers such as Google, GitHub, 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
To include this crate in your project, add the following line to your Cargo.toml
:
[dependencies]
rusty_oauth = "0.1.1"
let secret = ClientSecret::new("").unwrap();
let client_id = ClientId::new("").unwrap();
let redirect = ClientProviderUrl::new(rusty_oauth::Providers::GOOGLE);
let email = Scope::UserScope(rusty_oauth::scope::scope::UserScope::Email);
let profile = Scope::UserScope(rusty_oauth::scope::scope::UserScope::Profile);
let scope = handle_scope(&[email, profile]);
let code_verifier = Code::code_verifier();
let code_challenge = Code::code_challenge(&code_verifier);
let client = Client::new(
&client_id,
&secret,
&redirect,
&client_token_url,
scope,
code_verifier.clone(),
code_challenge,
);
# add the path to build the url
client.build(&stream); # stream from tcplistener
# if path.starts_with("/api/auth") {
let code = client.client_token(path, &stream, "/");
println!("{:?}", code);
# }
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