An open API service indexing awesome lists of open source software.

https://github.com/embarkstudios/tame-oidc

🧬 Small OAuth crate that follows the sans-io approach 🦀
https://github.com/embarkstudios/tame-oidc

Last synced: about 1 year ago
JSON representation

🧬 Small OAuth crate that follows the sans-io approach 🦀

Awesome Lists containing this project

README

          

# `🧬 tame-oidc`

**`tame-oidc` is a small [OpenID Connect](https://openid.net/connect/) crate that follows the [sans-io](https://sans-io.readthedocs.io/) approach.**

[![Embark](https://img.shields.io/badge/embark-open%20source-blueviolet.svg)](http://embark.games)
[![Embark](https://img.shields.io/badge/discord-ark-%237289da.svg?logo=discord)](https://discord.gg/dAuKfZS)
[![Crates.io](https://img.shields.io/crates/v/tame-oidc.svg)](https://crates.io/crates/tame-oidc)
[![Docs](https://docs.rs/tame-oidc/badge.svg)](https://docs.rs/tame-oidc)
[![dependency status](https://deps.rs/repo/github/EmbarkStudios/tame-oidc/status.svg)](https://deps.rs/repo/github/EmbarkStudios/tame-oidc)
[![Build status](https://github.com/gleam-lang/gleam/workflows/ci/badge.svg?branch=main)](https://github.com/EmbarkStudios/tame-oidc/actions)

Supported RFCs:

- [RFC7636 Proof Key for Code Exchange by OAuth Public Clients](https://datatracker.ietf.org/doc/html/rfc7636#page-3)

## Why?

- You want to control how you actually make OIDC HTTP requests

## Why not?

- The only auth flow that is currently implemented are the flows we are using internally. Other flows can be added, but right now that is the only one we need.
- This crate requires more boilerplate to use.

## Usage

See example code in `examples/embark.rs`

## Examples

### [embark basic](examples/embark-basic)

Usage: `cargo run --example embark-basic`

A small example of using `tame-oidc` together with [reqwest](https://github.com/seanmonstar/reqwest) using
the basic auth flow.

### [embark pkce](examples/embark-pkce)

Usage: `cargo run --example embark-pkce`

A small example of using `tame-oidc` together with [reqwest](https://github.com/seanmonstar/reqwest) using the PKCE
auth flow.

## Contributing

[![Contributor Covenant](https://img.shields.io/badge/contributor%20covenant-v1.4-ff69b4.svg)](CODE_OF_CONDUCT.md)

We welcome community contributions to this project.

Please read our [Contributor Guide](CONTRIBUTING.md) for more information on how to get started.

## License

Licensed under either of

- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or )
- MIT license ([LICENSE-MIT](LICENSE-MIT) or )

at your option.

### Contribution

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.