firebase_admin/lib.rs
1//! An open-source Firebase Admin SDK for Rust.
2//!
3//! `firebase-admin` currently implements Firebase **Authentication**
4//! (verifying ID tokens, creating custom tokens, managing users, and
5//! session cookies) and **Cloud Messaging** (sending FCM messages and
6//! managing topic subscriptions). Support for additional Firebase services
7//! (Firestore, Cloud Storage, ...) is planned; see `ARCHITECTURE.md` in the
8//! repository root for the project's module and versioning conventions.
9//!
10//! # Example
11//!
12//! ```no_run
13//! # async fn example() -> Result<(), firebase_admin::Error> {
14//! use firebase_admin::auth::AuthClient;
15//!
16//! let auth = AuthClient::builder("my-project-id")
17//! .service_account_key(firebase_admin::core::ServiceAccountKey::from_file(
18//! "service-account.json",
19//! )?)
20//! .build()?;
21//!
22//! let claims = auth.verify_id_token("<id-token-from-client>").await?;
23//! println!("verified uid: {}", claims.sub);
24//! # Ok(())
25//! # }
26//! ```
27
28#![warn(missing_docs)]
29
30pub mod auth;
31pub mod core;
32mod error;
33pub mod messaging;
34
35pub use error::Error;
36
37/// A `Result` alias using [`Error`] as its error type.
38pub type Result<T> = std::result::Result<T, Error>;