[package]
edition = "2021"
rust-version = "1.90.0"
name = "wami"
version = "0.17.1"
authors = ["LSH <github@lsh.tech>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Who Am I - Multicloud Identity, IAM, STS, and SSO operations library for Rust"
homepage = "https://github.com/Lsh0x/wami"
documentation = "https://docs.rs/wami"
readme = "README.md"
keywords = [
"iam",
"sso",
"identity",
"multicloud",
"aws",
]
categories = [
"api-bindings",
"authentication",
"development-tools",
]
license = "MIT"
repository = "https://github.com/Lsh0x/wami"
[features]
all-providers = ["wami-core/all-providers"]
aws = ["wami-core/aws"]
azure = ["wami-core/azure"]
default = ["sts-jwt"]
gcp = ["wami-core/gcp"]
scaleway = ["wami-core/scaleway"]
sts-jwt = [
"dep:ed25519-dalek",
"dep:jsonwebtoken",
]
[lib]
name = "wami"
path = "src/lib.rs"
[[example]]
name = "01_hello_wami"
path = "examples/01_hello_wami.rs"
[[example]]
name = "02_basic_crud_operations"
path = "examples/02_basic_crud_operations.rs"
[[example]]
name = "03_service_layer_intro"
path = "examples/03_service_layer_intro.rs"
[[example]]
name = "04_simple_multi_tenant"
path = "examples/04_simple_multi_tenant.rs"
[[example]]
name = "05_tenant_hierarchy"
path = "examples/05_tenant_hierarchy.rs"
[[example]]
name = "06_tenant_quotas_and_limits"
path = "examples/06_tenant_quotas_and_limits.rs"
[[example]]
name = "07_cross_tenant_role_assumption"
path = "examples/07_cross_tenant_role_assumption.rs"
[[example]]
name = "08_tenant_migration"
path = "examples/08_tenant_migration.rs"
[[example]]
name = "09_multi_cloud_user_sync"
path = "examples/09_multi_cloud_user_sync.rs"
[[example]]
name = "10_provider_switching"
path = "examples/10_provider_switching.rs"
[[example]]
name = "11_hybrid_cloud_setup"
path = "examples/11_hybrid_cloud_setup.rs"
[[example]]
name = "12_provider_specific_features"
path = "examples/12_provider_specific_features.rs"
[[example]]
name = "13_disaster_recovery_multi_cloud"
path = "examples/13_disaster_recovery_multi_cloud.rs"
[[example]]
name = "14_policy_basics"
path = "examples/14_policy_basics.rs"
[[example]]
name = "15_policy_evaluation_simulation"
path = "examples/15_policy_evaluation_simulation.rs"
[[example]]
name = "16_role_based_access_control"
path = "examples/16_role_based_access_control.rs"
[[example]]
name = "17_attribute_based_access_control"
path = "examples/17_attribute_based_access_control.rs"
[[example]]
name = "18_session_tokens"
path = "examples/18_session_tokens.rs"
[[example]]
name = "19_role_assumption_workflow"
path = "examples/19_role_assumption_workflow.rs"
[[example]]
name = "20_federated_access"
path = "examples/20_federated_access.rs"
[[example]]
name = "21_sso_setup_basic"
path = "examples/21_sso_setup_basic.rs"
[[example]]
name = "22_identity_providers_federation"
path = "examples/22_identity_providers_federation.rs"
[[example]]
name = "23_permissions_boundaries"
path = "examples/23_permissions_boundaries.rs"
[[example]]
name = "24_policy_attachment"
path = "examples/24_policy_attachment.rs"
[[example]]
name = "25_arn_usage"
path = "examples/25_arn_usage.rs"
required-features = ["all-providers"]
[[example]]
name = "26_secure_instance_bootstrap"
path = "examples/26_secure_instance_bootstrap.rs"
[[example]]
name = "27_oauth_client_credentials"
path = "examples/27_oauth_client_credentials.rs"
[[example]]
name = "28_oidc_authorization_code"
path = "examples/28_oidc_authorization_code.rs"
[[example]]
name = "arn_architecture_demo"
path = "examples/arn_architecture_demo.rs"
[[test]]
name = "one_store_many_services"
path = "tests/one_store_many_services.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bcrypt]
version = "0.15"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.ed25519-dalek]
version = "2"
features = [
"rand_core",
"pkcs8",
]
optional = true
[dependencies.env_logger]
version = "0.11"
[dependencies.getrandom]
version = "0.2"
[dependencies.hex]
version = "0.4"
[dependencies.jsonwebtoken]
version = "9"
optional = true
[dependencies.log]
version = "0.4"
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1.10"
[dependencies.roxmltree]
version = "0.21"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.0"
features = ["full"]
[dependencies.uuid]
version = "1.0"
features = ["v4"]
[dependencies.wami-condition]
version = "0.17.1"
[dependencies.wami-core]
version = "0.18.0"
[dependencies.wami-macros]
version = "0.17.0"