3 个不稳定版本

0.1.0 2023年11月15日
0.0.2 2023年10月24日
0.0.1 2023年10月24日

#1306网页开发

MIT/Apache

80KB
1K SLoC

google-jwt-auth

为 Google API 请求生成认证令牌。

请参阅使用 OAuth 2.0 进行服务器到服务器应用以了解该过程的描述。

设置

要获取令牌,需要完成一些任务

  • 访问 Google 控制台。
  • 访问(创建)一个 Google 服务帐户。
  • 有权限为该服务帐户创建密钥。
  • 访问 json 密钥文件(可以在服务帐户密钥生成过程中下载)。
  • 此网站选择需要的 API 使用权限。可以使用逗号分隔多个使用权限。空的使用权限会导致错误。

此 json 文件非常重要且必需,以使用此 crate。请参阅 Examples/Usage 中的用法。

每个令牌请求都有有效期。此有效期需要以秒为单位作为参数提供。允许的值在 30 到 3600 之间。

当前版本:0.1.1 (BETA)

当前状态:稳定!

待办事项

下一个更新将注意以下内容

  • 改进错误消息
  • 检测错误返回
  • 使用枚举类型
  • 令牌缓冲区(目前:每次令牌生成都会产生一个 REST 请求)

示例 / 使用方法

...
let config = AuthConfig::build(                                     //<-- Config can be reused
    fs::read_to_string("service_account.json").unwrap(),            //<-- JSON as string
    &Usage::CloudVision,                                            //<-- Api-Usage
).unwrap(); 
let token = config.generate_auth_token(3600).await.unwrap();        //<-- Generate token
println!("{}", token);
...

错误

本章节应有助于确定谁/哪个导致问题以及如何修复它

LibError 类型 解决方案(不保证)
AuthenticationError invalid_grant 您的 service-client.json 已不再有效,因为密钥已在 Google 控制台中删除。通过生成新密钥替换此文件。

此表为 WIP,如果出现新的错误或有人请求相关问题,则会发生变化。

依赖项

~5–20MB
~291K SLoC