blob: f704affc735dca2d90d9d777b196a4eb7b1b1e36 [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Create and parses JWT (JSON Web Tokens)"><meta name="keywords" content="rust, rustlang, rust-lang, jsonwebtoken"><title>jsonwebtoken - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../normalize.css"><link rel="stylesheet" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../ayu.css" disabled><link rel="stylesheet" href="../dark.css" disabled><link rel="stylesheet" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script defer src="../crates.js"></script><script defer src="../main.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../jsonwebtoken/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../jsonwebtoken/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Crate jsonwebtoken</a></h2><div class="sidebar-elems"><ul class="block"><li class="version">Version 7.2.0</li><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Crate <a class="mod" href="#">jsonwebtoken</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/jsonwebtoken/lib.rs.html#1-25">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Create and parses JWT (JSON Web Tokens)</p>
<p>Documentation: <a href="https://docs.rs/jsonwebtoken/">stable</a></p>
</div></details><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="crypto/index.html" title="jsonwebtoken::crypto mod">crypto</a></div><div class="item-right docblock-short">Lower level functions, if you want to do something other than JWTs</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="errors/index.html" title="jsonwebtoken::errors mod">errors</a></div><div class="item-right docblock-short">All the errors that can be encountered while encoding/decoding JWTs</div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.DecodingKey.html" title="jsonwebtoken::DecodingKey struct">DecodingKey</a></div><div class="item-right docblock-short">All the different kind of keys we can use to decode a JWT
This key can be re-used so make sure you only initialize it once if you can for better performance</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.EncodingKey.html" title="jsonwebtoken::EncodingKey struct">EncodingKey</a></div><div class="item-right docblock-short">A key to encode a JWT with. Can be a secret, a PEM-encoded key or a DER-encoded key.
This key can be re-used so make sure you only initialize it once if you can for better performance</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Header.html" title="jsonwebtoken::Header struct">Header</a></div><div class="item-right docblock-short">A basic JWT header, the alg defaults to HS256 and typ is automatically
set to <code>JWT</code>. All the other fields are optional.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.TokenData.html" title="jsonwebtoken::TokenData struct">TokenData</a></div><div class="item-right docblock-short">The return type of a successful call to <a href="fn.decode.html">decode</a>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Validation.html" title="jsonwebtoken::Validation struct">Validation</a></div><div class="item-right docblock-short">Contains the various validations that are applied after decoding a JWT.</div></div></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.Algorithm.html" title="jsonwebtoken::Algorithm enum">Algorithm</a></div><div class="item-right docblock-short">The algorithms supported for signing/verifying JWTs</div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.dangerous_insecure_decode.html" title="jsonwebtoken::dangerous_insecure_decode fn">dangerous_insecure_decode</a></div><div class="item-right docblock-short">Decode a JWT without any signature verification/validations.</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.dangerous_insecure_decode_with_validation.html" title="jsonwebtoken::dangerous_insecure_decode_with_validation fn">dangerous_insecure_decode_with_validation</a></div><div class="item-right docblock-short">Decode and validate a JWT without any signature verification.</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.dangerous_unsafe_decode.html" title="jsonwebtoken::dangerous_unsafe_decode fn">dangerous_unsafe_decode</a><span class="stab deprecated" title="">Deprecated</span></div><div class="item-right docblock-short">Decode a JWT without any signature verification/validations. DEPRECATED.</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.decode.html" title="jsonwebtoken::decode fn">decode</a></div><div class="item-right docblock-short">Decode and validate a JWT</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.decode_header.html" title="jsonwebtoken::decode_header fn">decode_header</a></div><div class="item-right docblock-short">Decode a JWT without any signature verification/validations and return its <a href="struct.Header.html">Header</a>.</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.encode.html" title="jsonwebtoken::encode fn">encode</a></div><div class="item-right docblock-short">Encode the header and claims given and sign the payload using the algorithm from the header and the key.
If the algorithm given is RSA or EC, the key needs to be in the PEM format.</div></div></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="jsonwebtoken" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html>