firebase-admin 0.3.0

An open-source Firebase Admin SDK for Rust: Authentication and Cloud Messaging
Documentation
[package]
name = "firebase-admin"
version = "0.3.0"
edition = "2021"
rust-version = "1.88"
authors = ["Firebase Admin RS Contributors"]
description = "An open-source Firebase Admin SDK for Rust: Authentication and Cloud Messaging"
license = "MIT OR Apache-2.0"
repository = "https://github.com/0xrustdev/Firebase-Admin-SDK"
documentation = "https://docs.rs/firebase-admin"
readme = "README.md"
keywords = ["firebase", "auth", "fcm", "google", "jwt"]
categories = ["authentication", "api-bindings", "asynchronous"]

[lib]
doctest = true

[dependencies]
tokio = { version = "1", features = ["rt", "macros", "sync"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
jsonwebtoken = { version = "10", default-features = false, features = ["use_pem", "rust_crypto"] }
x509-parser = "0.18"
base64 = "0.22"
thiserror = "2"
url = "2"
gcp_auth = { version = "0.12", optional = true }
futures-util = { version = "0.3", default-features = false, features = ["alloc"] }

[features]
default = ["emulator", "live-user-management", "live-messaging"]
emulator = []
# Enables OAuth2 bearer-token acquisition (via `gcp_auth`) for user
# management (get_user, create_user, ...) against production Firebase, for
# both AuthClientBuilder::service_account_key(...) and
# AuthClientBuilder::application_default_credentials(). Not needed for the
# emulator, which doesn't require authentication, or for ID token
# verification / custom token creation, which don't call the Identity
# Toolkit REST API.
live-user-management = ["dep:gcp_auth"]
# Enables OAuth2 bearer-token acquisition (via `gcp_auth`) for
# `MessagingClient` (send, send_each, send_each_for_multicast,
# subscribe_to_topic, unsubscribe_from_topic). Unlike Identity Toolkit, FCM
# has no unauthenticated emulator mode, so every messaging operation needs
# this feature.
live-messaging = ["dep:gcp_auth"]

[dev-dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
wiremock = "0.6"

[[example]]
name = "verify_id_token"

[[example]]
name = "create_custom_token"

[[example]]
name = "manage_users"

[[example]]
name = "session_cookie_login_flow"

[[example]]
name = "emulator_quickstart"

[[example]]
name = "send_message"