[package]
edition = "2021"
name = "rustauth"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust authentication toolkit."
homepage = "https://github.com/salasebas/rustauth"
documentation = "https://docs.rs/rustauth"
readme = "README.md"
keywords = [
"auth",
"oauth",
"sso",
"scim",
"identity",
]
categories = [
"authentication",
"web-programming",
]
license = "MIT"
repository = "https://github.com/salasebas/rustauth"
[features]
deadpool-postgres = ["dep:rustauth-deadpool-postgres"]
default = []
fred = ["dep:rustauth-fred"]
full = [
"jose",
"oauth",
"social-providers",
]
i18n = ["dep:rustauth-i18n"]
jose = ["rustauth-core/jose"]
oauth = ["rustauth-core/oauth"]
oauth-provider = ["dep:rustauth-oauth-provider"]
oidc = [
"dep:rustauth-oidc",
"rustauth-sso?/oidc",
]
passkey = ["dep:rustauth-passkey"]
plugins = ["dep:rustauth-plugins"]
redis = ["dep:rustauth-redis"]
saml = [
"dep:rustauth-saml",
"rustauth-sso?/saml",
]
saml-signed = [
"saml",
"rustauth-saml/saml-signed",
"rustauth-sso?/saml-signed",
]
scim = ["dep:rustauth-scim"]
social-providers = [
"oauth",
"rustauth-core/social-providers",
]
sqlx = ["dep:rustauth-sqlx"]
sqlx-mysql = [
"sqlx",
"rustauth-sqlx/mysql",
]
sqlx-postgres = [
"sqlx",
"rustauth-sqlx/postgres",
]
sqlx-sqlite = [
"sqlx",
"rustauth-sqlx/sqlite",
]
sso = ["dep:rustauth-sso"]
stripe = ["dep:rustauth-stripe"]
telemetry = [
"dep:rustauth-telemetry",
"rustauth-telemetry/http",
"rustauth-telemetry/oauth",
]
tokio-postgres = ["dep:rustauth-tokio-postgres"]
[lib]
name = "rustauth"
path = "src/lib.rs"
[[test]]
name = "adapter_database_hooks"
path = "tests/adapter_database_hooks.rs"
[[test]]
name = "builder_plugins"
path = "tests/builder_plugins.rs"
[[test]]
name = "docs"
path = "tests/docs.rs"
[[test]]
name = "feature_flags"
path = "tests/feature_flags.rs"
[[test]]
name = "public_api"
path = "tests/public_api.rs"
[dependencies.http]
version = "1"
[dependencies.rustauth-core]
version = "0.2.0"
default-features = false
[dependencies.rustauth-deadpool-postgres]
version = "0.2.0"
optional = true
[dependencies.rustauth-fred]
version = "0.2.0"
optional = true
[dependencies.rustauth-i18n]
version = "0.2.0"
optional = true
[dependencies.rustauth-oauth-provider]
version = "0.2.0"
optional = true
[dependencies.rustauth-oidc]
version = "0.2.0"
optional = true
[dependencies.rustauth-passkey]
version = "0.2.0"
optional = true
[dependencies.rustauth-plugins]
version = "0.2.0"
optional = true
[dependencies.rustauth-redis]
version = "0.2.0"
optional = true
[dependencies.rustauth-saml]
version = "0.2.0"
optional = true
[dependencies.rustauth-scim]
version = "0.2.0"
optional = true
[dependencies.rustauth-sqlx]
version = "0.2.0"
optional = true
default-features = false
[dependencies.rustauth-sso]
version = "0.2.0"
optional = true
default-features = false
[dependencies.rustauth-stripe]
version = "0.2.0"
optional = true
[dependencies.rustauth-telemetry]
version = "0.2.0"
optional = true
default-features = false
[dependencies.rustauth-tokio-postgres]
version = "0.2.0"
optional = true
[dependencies.serde_json]
version = "1"
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"sync",
"time",
]
default-features = false
[dev-dependencies.rustauth-core]
version = "0.2.0"
features = ["test-utils"]
default-features = false
[dev-dependencies.rustauth-sqlx]
version = "0.2.0"
features = [
"mysql",
"postgres",
"sqlite",
]
default-features = false
[dev-dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio",
"time",
"json",
]
default-features = false
[dev-dependencies.time]
version = "0.3"
features = [
"formatting",
"parsing",
"serde",
]
[lints.clippy]
expect_used = "warn"
panic = "warn"
unwrap_used = "warn"
[lints.rust]
unsafe_code = "forbid"