13 releases

0.4.7 Jan 18, 2021
0.4.5 Oct 30, 2020
0.4.3 Jun 4, 2020
0.4.2 Jan 21, 2020
0.2.1 Jul 15, 2019

#5 in Authentication

Download history 457/week @ 2020-11-09 429/week @ 2020-11-16 565/week @ 2020-11-23 497/week @ 2020-11-30 587/week @ 2020-12-07 519/week @ 2020-12-14 262/week @ 2020-12-21 247/week @ 2020-12-28 287/week @ 2021-01-04 982/week @ 2021-01-11 768/week @ 2021-01-18 643/week @ 2021-01-25 587/week @ 2021-02-01 740/week @ 2021-02-08 771/week @ 2021-02-15 867/week @ 2021-02-22

2,055 downloads per month
Used in 6 crates (5 directly)


467 lines

🔐 tame-oauth

Embark Embark Crates.io Docs dependency status Build status

tame-oauth is a small oauth crate that follows the sans-io approach.


  • You want to control how you actually make oauth HTTP requests

Why not?

  • The only auth flow that is currently implemented is the service account flow for GCP. Other flows can be added, but right now that is the only one we need.
  • There are several other oauth crates available that have many more features and are easier to work with, if you don't care about what HTTP clients they use.
  • This crate requires more boilerplate to use.



Usage: cargo run --example svc_account -- <key_path> <scope..>

A small example of using tame-oauth together with reqwest. Given a key file and 1 or more scopes, it will attempt to get a token that could be used to access resources in those scopes.

cargo run --example svc_account -- ~/.secrets/super-sekret.json https://www.googleapis.com/auth/pubsub https://www.googleapis.com/auth/devstorage.read_only


Contributor Covenant

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~142K SLoC