[[bench]]
name = "storage_simple"
path = "benches/storage_simple.rs"
[[bin]]
name = "auth-framework"
path = "src/bin/admin.rs"
required-features = ["admin-binary"]
[dependencies.actix-web]
optional = true
version = "4.0"
[dependencies.aes-gcm]
optional = false
version = "0.10"
[dependencies.anyhow]
version = "1.0"
[dependencies.argon2]
version = "0.5"
[dependencies.askama]
optional = true
version = "0.12"
[dependencies.askama_axum]
optional = true
version = "0.4"
[dependencies.async-trait]
version = "0.1"
[dependencies.aws-lc-rs]
features = ["aws-lc-sys"]
optional = true
version = "1.8"
[dependencies.axum]
features = ["macros"]
optional = true
version = "0.8"
[dependencies.base32]
version = "0.4"
[dependencies.base64]
version = "0.21"
[dependencies.bcrypt]
version = "0.15"
[dependencies.chacha20poly1305]
optional = true
version = "0.10"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.clap]
features = ["derive"]
optional = true
version = "4.0"
[dependencies.colored]
optional = true
version = "2.0"
[dependencies.config]
default-features = false
features = ["toml", "yaml", "json", "ron", "ini"]
version = "0.14"
[dependencies.console]
optional = true
version = "0.15"
[dependencies.coset]
optional = true
version = "0.3"
[dependencies.crc32fast]
version = "1.3"
[dependencies.crossterm]
optional = true
version = "0.28"
[dependencies.csv]
version = "1.3"
[dependencies.dashmap]
version = "6.1"
[dependencies.dialoguer]
optional = true
version = "0.11"
[dependencies.dirs]
version = "5.0"
[dependencies.ed25519-dalek]
features = ["rand_core"]
optional = true
version = "2.1"
[dependencies.futures-util]
optional = true
version = "0.3"
[dependencies.getrandom]
features = ["std"]
version = "0.2"
[dependencies.governor]
version = "0.10"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.html-escape]
version = "0.2.13"
[dependencies.indicatif]
optional = true
version = "0.17"
[dependencies.ipnetwork]
version = "0.20"
[dependencies.jsonwebtoken]
version = "9.2"
[dependencies.ldap3]
optional = true
version = "0.11"
[dependencies.log]
version = "0.4"
[dependencies.maxminddb]
version = "0.24"
[dependencies.nonzero_ext]
version = "0.3"
[dependencies.oauth-device-flows]
optional = true
version = "0.1"
[dependencies.openidconnect]
optional = true
version = "4.0"
[dependencies.otpauth]
optional = true
version = "0.5"
[dependencies.parking_lot]
version = "0.12"
[dependencies.passkey]
optional = true
version = "0.4"
[dependencies.passkey-client]
optional = true
version = "0.4"
[dependencies.quick-xml]
features = ["serialize"]
optional = true
version = "0.36"
[dependencies.rand]
version = "0.8"
[dependencies.ratatui]
optional = true
version = "0.28"
[dependencies.redis]
features = ["aio", "tokio-comp"]
optional = true
version = "0.32"
[dependencies.reqwest]
features = ["json"]
version = "0.12"
[dependencies.ring]
version = "0.17"
[dependencies.rpassword]
optional = true
version = "7.0"
[dependencies.rustls-webpki]
version = "0.102"
[dependencies.secrecy]
features = ["serde"]
version = "0.8"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_urlencoded]
optional = true
version = "0.7"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha1]
version = "0.10"
[dependencies.sha2]
version = "0.10"
[dependencies.sms-aws-sns]
optional = true
version = "0.2"
[dependencies.sms-core]
optional = true
version = "0.2"
[dependencies.sms-plivo]
optional = true
version = "0.2"
[dependencies.sms-twilio]
optional = true
version = "0.2"
[dependencies.sms-web-axum]
optional = true
version = "0.2"
[dependencies.sms-web-generic]
optional = true
version = "0.2"
[dependencies.sqlx]
features = ["runtime-tokio-rustls", "postgres", "mysql", "chrono", "uuid"]
optional = true
version = "0.8"
[dependencies.subtle]
version = "2.5"
[dependencies.testcontainers]
optional = true
version = "0.25"
[dependencies.thiserror]
version = "1.0"
[dependencies.time]
features = ["serde", "parsing", "formatting"]
version = "0.3"
[dependencies.tokio]
features = ["full"]
version = "1.0"
[dependencies.tokio-cron-scheduler]
version = "0.10"
[dependencies.tokio-postgres]
optional = true
version = "0.7"
[dependencies.toml]
version = "0.8"
[dependencies.totp-lite]
version = "2.0"
[dependencies.tower]
features = ["util"]
optional = true
version = "0.5"
[dependencies.tower-http]
features = ["cors", "trace", "fs"]
optional = true
version = "0.6"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"
[dependencies.tui-input]
optional = true
version = "0.10"
[dependencies.unicode-normalization]
optional = true
version = "0.1"
[dependencies.url]
version = "2.4"
[dependencies.urlencoding]
version = "2.1"
[dependencies.uuid]
features = ["v4", "serde"]
version = "1.0"
[dependencies.warp]
optional = true
version = "0.3"
[dependencies.x25519-dalek]
optional = true
version = "2.0"
[dependencies.x509-parser]
version = "0.16"
[dependencies.zeroize]
features = ["zeroize_derive"]
version = "1.8"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"
[dev-dependencies.mockito]
version = "1.2"
[dev-dependencies.test-log]
version = "0.2"
[dev-dependencies.tokio-test]
version = "0.4"
[[example]]
name = "basic_usage_corrected"
path = "examples/basic_usage_corrected.rs"
[[example]]
name = "cli_auth_tool"
path = "examples/cli_auth_tool.rs"
[[example]]
name = "oauth2_authorization_server"
path = "examples/oauth2_authorization_server.rs"
[[example]]
name = "production_deployments"
path = "examples/production_deployments.rs"
[[example]]
name = "simple_oauth2_server"
path = "examples/simple_oauth2_server.rs"
[[example]]
name = "simple_working_deployment"
path = "examples/simple_working_deployment.rs"
[[example]]
name = "smskit_integration"
path = "examples/smskit_integration.rs"
[features]
actix-integration = ["actix-web", "futures-util"]
admin-binary = ["cli", "tui", "web-gui"]
axum-integration = ["axum", "tower", "tower-http", "serde_urlencoded"]
cli = ["clap", "rpassword", "tokio-postgres", "indicatif", "console", "dialoguer", "colored"]
default = ["postgres-storage"]
distributed-rate-limiting = ["redis"]
docker-tests = ["testcontainers"]
enhanced-crypto = ["chacha20poly1305", "x25519-dalek", "ed25519-dalek"]
enhanced-device-flow = ["oauth-device-flows"]
fips-compliance = ["aws-lc-rs"]
ldap-auth = ["ldap3"]
mysql-storage = ["sqlx"]
openid-connect = ["openidconnect"]
otp-auth = ["otpauth"]
passkeys = ["passkey", "coset", "passkey-client"]
postgres-storage = ["sqlx", "tokio-postgres"]
redis-storage = ["redis"]
saml = ["quick-xml"]
smskit = ["sms-core", "sms-plivo", "sms-twilio", "sms-aws-sns", "sms-web-generic"]
smskit-web-axum = ["smskit", "sms-web-axum", "axum-integration"]
testing = []
tui = ["ratatui", "crossterm", "tui-input", "indicatif", "console", "colored"]
unicode-support = ["unicode-normalization"]
warp-integration = ["warp"]
web-gui = ["axum", "tower", "tower-http", "askama", "askama_axum", "serde_urlencoded"]
[lib]
name = "auth_framework"
path = "src/lib.rs"
[package]
authors = ["Eric Evans <ciresnave@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["authentication", "web-programming"]
description = "A comprehensive, production-ready authentication and authorization framework for Rust applications"
documentation = "https://docs.rs/auth-framework"
edition = "2024"
keywords = ["auth", "authentication", "authorization", "oauth", "jwt"]
license = "MIT OR Apache-2.0"
name = "auth-framework"
readme = "README.md"
repository = "https://github.com/ciresnave/auth-framework"
version = "0.4.0"
[[test]]
name = "code_quality_audit"
path = "tests/code_quality_audit.rs"
[[test]]
name = "comprehensive_api_tests"
path = "tests/comprehensive_api_tests.rs"
[[test]]
name = "critical_authentication_security"
path = "tests/critical_authentication_security.rs"
[[test]]
name = "critical_security_detection"
path = "tests/critical_security_detection.rs"
[[test]]
name = "edge_case_comprehensive_tests"
path = "tests/edge_case_comprehensive_tests.rs"
[[test]]
name = "edge_cases_comprehensive"
path = "tests/edge_cases_comprehensive.rs"
[[test]]
name = "enterprise_auth_integration"
path = "tests/enterprise_auth_integration.rs"
[[test]]
name = "error_path_comprehensive"
path = "tests/error_path_comprehensive.rs"
[[test]]
name = "final_comprehensive_security_audit"
path = "tests/final_comprehensive_security_audit.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "profile_utils_tests"
path = "tests/profile_utils_tests.rs"
[[test]]
name = "rfc_compliance_final"
path = "tests/rfc_compliance_final.rs"
[[test]]
name = "rfc_compliance_tests"
path = "tests/rfc_compliance_tests.rs"
[[test]]
name = "security_comprehensive"
path = "tests/security_comprehensive.rs"
[[test]]
name = "security_validation_critical"
path = "tests/security_validation_critical.rs"
[[test]]
name = "security_validation_test"
path = "tests/security_validation_test.rs"
[[test]]
name = "security_vulnerability_detection"
path = "tests/security_vulnerability_detection.rs"
[[test]]
name = "simple_comprehensive_tests"
path = "tests/simple_comprehensive_tests.rs"
[[test]]
name = "simple_enterprise_test"
path = "tests/simple_enterprise_test.rs"
[[test]]
name = "simple_integration_test"
path = "tests/simple_integration_test.rs"
[[test]]
name = "simplified_comprehensive_tests"
path = "tests/simplified_comprehensive_tests.rs"
[[test]]
name = "test_coverage_gaps"
path = "tests/test_coverage_gaps.rs"
[[test]]
name = "token_edge_tests"
path = "tests/token_edge_tests.rs"
[[test]]
name = "token_exchange_integration"
path = "tests/token_exchange_integration.rs"
[[test]]
name = "vulnerability_testing_analysis"
path = "tests/vulnerability_testing_analysis.rs"
[[test]]
name = "working_comprehensive_tests"
path = "tests/working_comprehensive_tests.rs"
[[test]]
name = "working_integration_tests"
path = "tests/working_integration_tests.rs"