1 个不稳定版本
0.1.0 | 2024年8月9日 |
---|
407 在 身份验证
每月106 次下载
31KB
686 代码行
IAP JWT
验证和解码 Google Cloud Identity-Aware Proxy (IAP) JWTs
功能
- 验证和解码由 Google IAP https://cloud.google.com/iap/docs/signed-headers-howto 发布的 JWT
- 使用从 Google JWKS 端点检索的公钥验证 JWT 签名
- 验证标准声明如
exp
、iat
、aud
、iss
- 验证 Google 特定声明如
hd
(托管域) 和访问级别 - 可注入的公钥检索和缓存,以支持测试
- 可定制的验证选项
用法
cargo add iap-jwt
use iap_jwt::{ValidationConfig};
let token = "..."; // JWT token from IAP
// reqwest Client implements iap_jwt::PublicKeySource with `reqwest` feature enabled (enabled by default)
let client = reqwest::Client::new();
let config = ValidationConfig::new(["/projects/1234567890/global/backendServices/test-service-id"])
.with_google_hosted_domain(["example.com"])
.with_access_levels(["ADMIN"]);
let claims = config.decode_and_validate(token, &client).await?;
println!("Authenticated user: {}", claims.sub);
许可证
此项目根据以下任一许可证许可,由您选择
- Apache-2.0
- MIT
依赖项
~4–16MB
~241K SLoC