#uri #rfc #interact #decoding #token #decode #secret-token

nightly sectok

A library to interact with RFC 8959 secret-token URIs

2 unstable releases

0.2.0 Feb 6, 2021
0.1.0 Feb 1, 2021

#2656 in Parser implementations

MIT license

9KB
157 lines

sectok

crates.io docs.rs

A Rust library to interact with RFC 8959 secret-token URIs. Inspired by Lex Robinson's Python implementation.

See the RFC text for motivation and details.

You can find the library documentation on docs.rs.

An example of decoding a URI:

use sectok;
use std::env;

fn main() {
    match env::var("API_KEY") {
        Ok(uri) => {
            println!("The URI: {}", uri);
            match sectok::decode(&uri) {
                Some(token) => println!("The decoded token: {}", token),
                None => println!("The URI is invalid, cannot decode the token"),
            }
        }
        Err(e) => {
            println!("Cannot read environment variable: {}", e);
        }
    }
}
% API_KEY=secret-token:hello%20world cargo run --quiet --example decode
The URI: secret-token:hello%20world
The decoded token: hello world

Dependencies

~2.2–3MB
~55K SLoC