[package]
edition = "2024"
rust-version = "1.88"
name = "openlark-security"
version = "0.17.0"
authors = ["ZoOL <zhooul@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "飞书开放平台安全认证服务模块 - 身份认证、权限管理、安全审计 (44 APIs)"
homepage = "https://github.com/foxzool/openlark"
documentation = "https://docs.rs/openlark"
readme = false
keywords = [
"feishu",
"lark",
"security",
"auth",
"acs",
]
categories = [
"api-bindings",
"web-programming",
"authentication",
]
license = "Apache-2.0"
repository = "https://github.com/foxzool/openlark"
resolver = "2"
[package.metadata.cargo-machete]
ignored = [
"anyhow",
"async-trait",
"base64",
"hmac",
"log",
"rand",
"serde_repr",
"sha2",
"thiserror",
"tokio",
"tracing",
"url",
"urlencoding",
]
[features]
acs = ["auth"]
audit = ["core"]
auth = ["core"]
compliance = ["auth"]
core = []
default = [
"auth",
"acs",
]
full = [
"auth",
"acs",
"audit",
"token",
"compliance",
"v3",
]
security = ["full"]
token = ["auth"]
v1 = ["core"]
v2 = ["v1"]
v3 = ["v2"]
[lib]
name = "openlark_security"
path = "src/lib.rs"
[[test]]
name = "security_contract_models"
path = "tests/security_contract_models.rs"
[dependencies.anyhow]
version = "1.0.86"
[dependencies.async-trait]
version = "0.1.83"
[dependencies.base64]
version = "0.22.1"
[dependencies.chrono]
version = "0.4.38"
features = ["serde"]
[dependencies.hmac]
version = "0.12.1"
[dependencies.log]
version = "0.4.21"
[dependencies.openlark-auth]
version = "0.17.0"
[dependencies.openlark-core]
version = "0.17.0"
[dependencies.rand]
version = "0.8"
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"multipart",
"rustls",
"stream",
"query",
]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_repr]
version = "0.1.19"
[dependencies.sha2]
version = "0.10.8"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.38"
features = [
"rt",
"rt-multi-thread",
"macros",
]
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2.5"
features = ["serde"]
[dependencies.urlencoding]
version = "2.1"
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dev-dependencies.mockall]
version = "0.12"
[dev-dependencies.rstest]
version = "=0.19.0"
[dev-dependencies.tempfile]
version = "=3.10.1"
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.wiremock]
version = "0.6"
[lints.clippy]
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust]
missing_docs = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"