#oauth #gcp #sans-io #tame #parse-url

驯服OAuth

一个非常简单的OAuth 2.0库

26个版本

0.10.0 2024年3月21日
0.9.6 2023年11月20日
0.9.5 2023年10月25日
0.9.3 2023年6月9日
0.2.1 2019年7月15日

#28 in 身份验证

Download history 1237/week @ 2024-03-13 1397/week @ 2024-03-20 1100/week @ 2024-03-27 1439/week @ 2024-04-03 1338/week @ 2024-04-10 1497/week @ 2024-04-17 1682/week @ 2024-04-24 1238/week @ 2024-05-01 1216/week @ 2024-05-08 1649/week @ 2024-05-15 1959/week @ 2024-05-22 1758/week @ 2024-05-29 1715/week @ 2024-06-05 2035/week @ 2024-06-12 1787/week @ 2024-06-19 950/week @ 2024-06-26

6,851 每月下载量
用于 9 个Crate(6 个直接使用)

MIT/Apache

80KB
1.5K SLoC

🔐 驯服-OAuth

Embark Embark Crates.io Docs dependency status Build status

tame-oauth 是一个小型OAuth crate,遵循 sans-io 方法。

为什么?

  • 您想要控制实际如何进行OAuth HTTP请求

为什么不呢?

  • 目前唯一实现的身份验证流程是GCP的服务账户、用户凭据和元数据服务器流程。其他流程可以添加,但现在GCP是我们唯一需要的提供者。
  • 还有其他一些OAuth crate可用,它们具有更多功能和更易于使用,如果您不关心它们使用的HTTP客户端。
  • 此crate使用时需要更多的模板代码。

功能

  • gcp(默认) - 支持GCP OAuth2
  • wasm-web - 启用 ring 中的wasm功能,以便在wasm浏览器上下文中使用 tame-oauth。注意,此功能不应在浏览器上下文之外的目标中使用wasm,在这种情况下,您可能需要针对 wasm32-wasi
  • jwt(默认) - 支持JSON Web Tokens,对于 gcp 是必需的
  • url(默认) - URL解析,对于 gcp 是必需的

示例

svc_account

使用方法:cargo run --example svc_account -- <key_path> <scope>

使用 tame-oauthreqwest 的小例子。给定一个密钥文件和1个或多个作用域,它将尝试获取一个可用于访问这些作用域资源的令牌。

cargo运行 --示例svc_account -- ~/.secrets/super-sekret.json https://www.googleapis.com/auth/pubsub https://www.googleapis.com/auth/devstorage.read_only

默认凭证

用法:cargo run --example default_creds -- <作用域..>

尝试查找和使用默认凭证以获取令牌。请注意,在某些情况下不使用作用域,例如最终用户凭证始终只有云平台作用域。

cargo运行 --示例默认凭证 --https://www.googleapis.com/auth/devstorage.read_only

贡献

Contributor Covenant

我们欢迎社区为此项目做出贡献。

请阅读我们的贡献指南,了解如何开始。

许可证

许可协议为以下之一

由您选择。

贡献

除非您明确声明,否则您提交的任何有意包含在作品中的贡献(根据Apache-2.0许可证定义),将按上述方式双许可,不附加任何额外条款或条件。

依赖关系

~1–11MB
~145K SLoC