1 个不稳定版本
新 0.1.0 | 2024 年 8 月 24 日 |
---|
#1249 in Web 编程
每月 下载 54 次
15KB
126 代码行
google-api-auth
用于查询 GCP API 的 access_token 生成 API,简单易用
生产就绪性
此库已经在关联公司针对特定用例投入生产使用。在生产环境中使用此库存在风险。
示例
cargo.toml
[dependencies]
serde = { version = "1.0.209", features = ["derive"] }
google-api-auth = "0.1.0"
main.rs
fn main() {
let mut dir = env::current_exe().unwrap();
dir.pop();
dir.push("some-name-000000-000000000.json");
let json_string = json!({
"type": "service_account",
"project_id": "some-name-000000",
"private_key_id": "somerandomuuid000000000",
"private_key": "-----BEGIN PRIVATE KEY-----\n SOME CERT DATA \n-----END PRIVATE KEY-----\n",
"client_email": "[email protected]",
"client_id": "000000000000000",
"auth_uri": "https://127.0.0.1/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/some-account.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}).to_string();
//Create the handler.
let handler = AuthenticationHandler::new(dir.into());
//Handler using json `String`
let handler_2 = AuthenticationHandler::new(json_string.into());
//Get a token with scoped read / write access to GCP DNS API.
let token = handler.get_access_token_model(
vec!["https://www.googleapis.com/auth/ndev.clouddns.readwrite".into()]);
println!("Access Token: {}", token.access_token);
}
与 Google 的关联
此项目与 Google 没有关联或维护关系,由独立开发者创建。
依赖项
~4–15MB
~237K SLoC