3 个版本
0.1.2 | 2023 年 1 月 6 日 |
---|---|
0.1.1 | 2023 年 1 月 5 日 |
0.1.0 | 2023 年 1 月 5 日 |
29 在 #firebase
8KB
92 行
firebase-jwt-rs
Firebase JWT 解码实用工具,用于 Rust。
这是什么?
如果您有一个 Rust 服务器并计划为验证您的 Firebase 用户客户端令牌创建 API,那么这正适合您!
它仅包含用于解码您的客户端令牌的小型实用工具。
阅读更多
流程
-
在您的前端,您可以通过使用 Firebase 客户端 SDK 获取您的 uid + 客户端令牌。
示例: https://firebase.google.com/docs/auth/admin/verify-id-tokens#retrieve_id_tokens_on_clients
-
然后您的客户端可以调用后端的 Rust API,并将 uid + 客户端令牌发送到 HTTP Header/POST body(由您决定),这将传递给
verify_token(uid, client_token)
工具。 -
将
FIREBASE_PROJECT_ID
环境变量添加到您的本地和生产服务器上的后端 -
后端 Rust 将验证并作为 json 返回 JWT 声明响应(包括提取的用户数据,和验证的用户_id)
如何使用
use firebase_jwt_rs::*;
use jsonwebtoken::TokenData;
use std::error::Error;
let uid = "your-user-uid";
let client_token = "your-client-token";
let result: Result<TokenData<Claims>, Box<dyn Error>> = verify_token(uid, client_token).await;
match result {
Ok(res: TokenData<Claims>) => {
let text: String = serde_json::to_string(&res.claims).unwrap();
println!("result:{text}");
}
Err(e) => {
println!("err:{e}");
}
}
许可证
MIT
依赖项
~9–21MB
~426K SLoC