kanidm/docs/v1.1.0-alpha.5/rustdoc/kanidmd_lib/idm/server/trait.IdmServerTransaction.html

34 lines
35 KiB
HTML
Raw Normal View History

<!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="API documentation for the Rust `IdmServerTransaction` trait in crate `kanidmd_lib`."><meta name="keywords" content="rust, rustlang, rust-lang, IdmServerTransaction"><title>IdmServerTransaction in kanidmd_lib::idm::server - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[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="../../../kanidmd_lib/index.html"><div class="logo-container"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../kanidmd_lib/index.html"><div class="logo-container"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">IdmServerTransaction</a></h2><div class="sidebar-elems"><section><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.QsTransactionType">QsTransactionType</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.get_qs_txn">get_qs_txn</a></li><li><a href="#tymethod.get_uat_validator_txn">get_uat_validator_txn</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.check_oauth2_account_uuid_valid">check_oauth2_account_uuid_valid</a></li><li><a href="#method.process_apit_to_identity">process_apit_to_identity</a></li><li><a href="#method.process_uat_to_identity">process_uat_to_identity</a></li><li><a href="#method.validate_and_parse_sync_token_to_ident">validate_and_parse_sync_token_to_ident</a></li><li><a href="#method.validate_and_parse_token_to_ident">validate_and_parse_token_to_ident</a></li><li><a href="#method.validate_and_parse_token_to_token">validate_a
type <a href="#associatedtype.QsTransactionType" class="associatedtype">QsTransactionType</a>: <a class="trait" href="../../server/trait.QueryServerTransaction.html" title="trait kanidmd_lib::server::QueryServerTransaction">QueryServerTransaction</a>&lt;'a&gt;;
fn <a href="#tymethod.get_qs_txn" class="fn">get_qs_txn</a>(&amp;mut self) -&gt; &amp;mut Self::<a class="associatedtype" href="trait.IdmServerTransaction.html#associatedtype.QsTransactionType" title="type kanidmd_lib::idm::server::IdmServerTransaction::QsTransactionType">QsTransactionType</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_uat_validator_txn" class="fn">get_uat_validator_txn</a>(&amp;self) -&gt; &amp;JwsValidator;
fn <a href="#method.validate_and_parse_token_to_ident" class="fn">validate_and_parse_token_to_ident</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../server/identity/struct.Identity.html" title="struct kanidmd_lib::server::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.validate_and_parse_token_to_uat" class="fn">validate_and_parse_token_to_uat</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;UserAuthToken, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.validate_and_parse_token_to_token" class="fn">validate_and_parse_token_to_token</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.Token.html" title="enum kanidmd_lib::idm::server::Token">Token</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.validate_and_parse_uat" class="fn">validate_and_parse_uat</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;UserAuthToken, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.check_oauth2_account_uuid_valid" class="fn">check_oauth2_account_uuid_valid</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uuid: <a class="struct" href="../../prelude/struct.Uuid.html" title="struct kanidmd_lib::prelude::Uuid">Uuid</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session_id: <a class="struct" href="../../prelude/struct.Uuid.html" title="struct kanidmd_lib::prelude::Uuid">Uuid</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent_session_id: <a class="struct" href="../../prelude/struct.Uuid.html" title="struct kanidmd_lib::prelude::Uuid">Uuid</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iat: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i64.html">i64</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.67.1/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../entry/struct.Entry.html" title="struct kanidmd_lib::entry::Entry">Entry</a>&lt;<a class="struct" href="../../entry/struct.EntrySealed.html" title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <a class="struct" href="../../entry/struct.EntryCommitted.html" title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>&gt;&gt;&gt;, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.process_uat_to_identity" class="fn">process_uat_to_identity</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uat: &amp;UserAuthToken,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../server/identity/struct.Identity.html" title="struct kanidmd_lib::server::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.process_apit_to_identity" class="fn">process_apit_to_identity</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;apit: &amp;ApiToken,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entry: <a class="struct" href="https://doc.rust-lang.org/1.67.1/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="type" href="../../entry/type.EntrySealedCommitted.html" title="type kanidmd_lib::entry::EntrySealedCommitted">EntrySealedCommitted</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../server/identity/struct.Identity.html" title="struct kanidmd_lib::server::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.validate_ldap_session" class="fn">validate_ldap_session</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session: &amp;<a class="enum" href="../ldap/enum.LdapSession.html" title="enum kanidmd_lib::idm::ldap::LdapSession">LdapSession</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../server/identity/struct.Identity.html" title="struct kanidmd_lib::server::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.validate_and_parse_sync_token_to_ident" class="fn">validate_and_parse_sync_token_to_ident</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../server/identity/struct.Identity.html" title="struct kanidmd_lib::server::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt; { ... }
}</code></pre></div><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><section id="associatedtype.QsTransactionType" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#392">source</a><h4 class="code-header">type <a href="#associatedtype.QsTransactionType" class="associatedtype">QsTransactionType</a>: <a class="trait" href="../../server/trait.QueryServerTransaction.html" title="trait kanidmd_lib::server::QueryServerTransaction">QueryServerTransaction</a>&lt;'a&gt;</h4></section></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><section id="tymethod.get_qs_txn" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#394">source</a><h4 class="code-header">fn <a href="#tymethod.get_qs_txn" class="fn">get_qs_txn</a>(&amp;mut self) -&gt; &amp;mut Self::<a class="associatedtype" href="trait.IdmServerTransaction.html#associatedtype.QsTransactionType" title="type kanidmd_lib::idm::server::IdmServerTransaction::QsTransactionType">QsTransactionType</a></h4></section><section id="tymethod.get_uat_validator_txn" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#396">source</a><h4 class="code-header">fn <a href="#tymethod.get_uat_validator_txn" class="fn">get_uat_validator_txn</a>(&amp;self) -&gt; &amp;JwsValidator</h4></section></div><h2 id="provided-methods" class="small-section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.validate_and_parse_token_to_ident" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#406">source</a><h4 class="code-header">fn <a href="#method.validate_and_parse_token_to_ident" class="fn">validate_and_parse_token_to_ident</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../server/identity/struct.Identity.html" title="struct kanidmd_lib::server::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></section></summary><div class="docblock"><p>This is the preferred method to transform and securely verify a token into
an identity that can be used for operations and access enforcement. This
function <em>is</em> aware of the various classes of tokens that may exist, and can
appropriately check them.</p>
<p>The primary method of verification selection is the use of the KID parameter
that we internally sign with. We can use this to select the appropriate token type
and validation method.</p>
</div></details><section id="method.validate_and_parse_token_to_uat" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#418">source</a><h4 class="code-header">fn <a href="#method.validate_and_parse_token_to_uat" class="fn">validate_and_parse_token_to_uat</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;UserAuthToken, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></section><section id="method.validate_and_parse_token_to_token" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#433-536">source</a><h4 class="code-header">fn <a href="#method.validate_and_parse_token_to_token" class="fn">validate_and_parse_token_to_token</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="enum.Token.html" title="enum kanidmd_lib::idm::server::Token">Token</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></section><section id="method.validate_and_parse_uat" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#538">source</a><h4 class="code-header">fn <a href="#method.validate_and_parse_uat" class="fn">validate_and_parse_uat</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;UserAuthToken, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></section><section id="method.check_oauth2_account_uuid_valid" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#577-625">source</a><h4 class="code-header">fn <a href="#method.check_oauth2_account_uuid_valid" class="fn">check_oauth2_account_uuid_valid</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;uuid: <a class="struct" href="../../prelude/struct.Uuid.html" title="struct kanidmd_lib::prelude::Uuid">Uuid</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;session_id: <a class="struct" href="../../prelude/struct.Uuid.html" title="struct kanidmd_lib::prelude::Uuid">Uuid</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;parent_session_id: <a class="struct" href="../../prelude/struct.Uuid.html" title="struct kanidmd_lib::prelude::Uuid">Uuid</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;ia
event for security and access processing. When that event is externally
triggered via one of our various api layers, we process some type of
account token into this identity. In the current server this is the
UserAuthToken. For a UserAuthToken to be provided it MUST have been
cryptographically verified meaning it is now a <em>trusted</em> source of
data that we previously issued.</p>
<p>This is the function that is responsible for converting that UAT into
something we can pin access controls and other limits and references to.
This is why it is the location where validity windows are checked and other
relevant session information is injected.</p>
</div></details><section id="method.process_apit_to_identity" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#702">source</a><h4 class="code-header">fn <a href="#method.process_apit_to_identity" class="fn">process_apit_to_identity</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;apit: &amp;ApiToken,<br>&nbsp;&nbsp;&nbsp;&nbsp;entry: <a class="struct" href="https://doc.rust-lang.org/1.67.1/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="type" href="../../entry/type.EntrySealedCommitted.html" title="type kanidmd_lib::entry::EntrySealedCommitted">EntrySealedCommitted</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../server/identity/struct.Identity.html" title="struct kanidmd_lib::server::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></section><section id="method.validate_ldap_session" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#727">source</a><h4 class="code-header">fn <a href="#method.validate_ldap_session" class="fn">validate_ldap_session</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;session: &amp;<a class="enum" href="../ldap/enum.LdapSession.html" title="enum kanidmd_lib::idm::ldap::LdapSession">LdapSession</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../server/identity/struct.Identity.html" title="struct kanidmd_lib::server::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></section><section id="method.validate_and_parse_sync_token_to_ident" class="method has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#787">source</a><h4 class="code-header">fn <a href="#method.validate_and_parse_sync_token_to_ident" class="fn">validate_and_parse_sync_token_to_ident</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="../../prelude/struct.Duration.html" title="struct kanidmd_lib::prelude::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../server/identity/struct.Identity.html" title="struct kanidmd_lib::server::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></section></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-IdmServerTransaction%3C%27a%3E-for-IdmServerAuthTransaction%3C%27a%3E" class="impl has-srclink"><a class="srclink rightside" href="../../../src/kanidmd_lib/idm/server.rs.html#871-881">source</a><a href="#impl-IdmServerTransaction%3C%27a%3E-for-IdmServerAuthTransaction%3C%27a%3E" class="anchor">§</a><h3 class="code-header">impl&l