kanidm/docs/v1.0.0rc1/rustdoc/kanidmd_lib/idm/server/trait.IdmServerTransaction.html

33 lines
32 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="../../../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" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../../storage.js"></script><script defer src="sidebar-items.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 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="../../../rust-logo.svg" alt="logo"></div></a><h2 class="location"></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../kanidmd_lib/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">IdmServerTransaction</a></h2><div class="sidebar-elems"><section><div class="block"><h3 class="sidebar-title"><a href="#required-associated-types">Required Associated Types</a></h3><ul><li><a href="#associatedtype.QsTransactionType">QsTransactionType</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#required-methods">Required Methods</a></h3><ul><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></div><div class="block"><h3 class="sidebar-title"><a href="#provided-methods">Provided Methods</a></h3><ul><li><a href="#method.check_account_uuid_valid">check_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_and_parse_token_to_token</a></li><li><a href="#method.validate_and_parse_uat">validate_and_parse_uat</a></li><li><a href="#method.validate_ldap_session">validate_ldap_session</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#implementors">Implementors</a></h3></div></section><h2 class="location"><a href="index.html">In kanidmd_lib::idm::server</a></h2></div></nav><main
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="fnname">get_qs_txn</a>(&amp;self) -&gt; &amp;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="fnname">get_uat_validator_txn</a>(&amp;self) -&gt; &amp;JwsValidator;
fn <a href="#method.validate_and_parse_token_to_ident" class="fnname">validate_and_parse_token_to_ident</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.64.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../identity/struct.Identity.html" title="struct kanidmd_lib::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_token" class="fnname">validate_and_parse_token_to_token</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.64.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/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="fnname">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.64.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../kanidm_proto/v1/struct.UserAuthToken.html" title="struct kanidm_proto::v1::UserAuthToken">UserAuthToken</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.check_account_uuid_valid" class="fnname">check_account_uuid_valid</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uuid: &amp;<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;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.64.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../account/struct.Account.html" title="struct kanidmd_lib::idm::account::Account">Account</a>&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="fnname">process_uat_to_identity</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uat: &amp;<a class="struct" href="../../../kanidm_proto/v1/struct.UserAuthToken.html" title="struct kanidm_proto::v1::UserAuthToken">UserAuthToken</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../identity/struct.Identity.html" title="struct kanidmd_lib::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="fnname">process_apit_to_identity</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;apit: &amp;<a class="struct" href="../../../kanidm_proto/v1/struct.ApiToken.html" title="struct kanidm_proto::v1::ApiToken">ApiToken</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entry: <a class="struct" href="https://doc.rust-lang.org/1.64.0/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="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../identity/struct.Identity.html" title="struct kanidmd_lib::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="fnname">validate_ldap_session</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session: &amp;<a class="enum" href="../../ldap/enum.LdapSession.html" title="enum kanidmd_lib::ldap::LdapSession">LdapSession</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../identity/struct.Identity.html" title="struct kanidmd_lib::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="fnname">validate_and_parse_sync_token_to_ident</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.64.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../identity/struct.Identity.html" title="struct kanidmd_lib::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"><div id="associatedtype.QsTransactionType" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#387">source</a></div><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></div></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><div id="tymethod.get_qs_txn" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#389">source</a></div><h4 class="code-header">fn <a href="#tymethod.get_qs_txn" class="fnname">get_qs_txn</a>(&amp;self) -&gt; &amp;Self::<a class="associatedtype" href="trait.IdmServerTransaction.html#associatedtype.QsTransactionType" title="type kanidmd_lib::idm::server::IdmServerTransaction::QsTransactionType">QsTransactionType</a></h4></div><div id="tymethod.get_uat_validator_txn" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#391">source</a></div><h4 class="code-header">fn <a href="#tymethod.get_uat_validator_txn" class="fnname">get_uat_validator_txn</a>(&amp;self) -&gt; &amp;JwsValidator</h4></div></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" open><summary><div id="method.validate_and_parse_token_to_ident" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#401">source</a></div><h4 class="code-header">fn <a href="#method.validate_and_parse_token_to_ident" class="fnname">validate_and_parse_token_to_ident</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../identity/struct.Identity.html" title="struct kanidmd_lib::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></div></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><div id="method.validate_and_parse_token_to_token" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#413-516">source</a></div><h4 class="code-header">fn <a href="#method.validate_and_parse_token_to_token" class="fnname">validate_and_parse_token_to_token</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/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></div><div id="method.validate_and_parse_uat" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#518">source</a></div><h4 class="code-header">fn <a href="#method.validate_and_parse_uat" class="fnname">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.64.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../kanidm_proto/v1/struct.UserAuthToken.html" title="struct kanidm_proto::v1::UserAuthToken">UserAuthToken</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></div><div id="method.check_account_uuid_valid" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#557-576">source</a></div><h4 class="code-header">fn <a href="#method.check_account_uuid_valid" class="fnname">check_account_uuid_valid</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;uuid: &amp;<a class="struct" href="../../prelude/struct.Uuid.html" title="struct kanidmd_lib::prelude::Uuid">Uuid</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.64.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../account/struct.Account.html" title="struct kanidmd_lib::idm::account::Account">Account</a>&gt;, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></div><details class="rustdoc-toggle" open><summary><div id="method.process_uat_to_identity" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#590">source</a></div><h4 class="code-header">fn <a href="#method.process_uat_to_identity" class="fnname">process_uat_to_identity</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;uat: &amp;<a class="struct" href="../../../kanidm_proto/v1/struct.UserAuthToken.html" tit
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><div id="method.process_apit_to_identity" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#651">source</a></div><h4 class="code-header">fn <a href="#method.process_apit_to_identity" class="fnname">process_apit_to_identity</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;apit: &amp;<a class="struct" href="../../../kanidm_proto/v1/struct.ApiToken.html" title="struct kanidm_proto::v1::ApiToken">ApiToken</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;entry: <a class="struct" href="https://doc.rust-lang.org/1.64.0/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="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../identity/struct.Identity.html" title="struct kanidmd_lib::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></div><div id="method.validate_ldap_session" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#676">source</a></div><h4 class="code-header">fn <a href="#method.validate_ldap_session" class="fnname">validate_ldap_session</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;session: &amp;<a class="enum" href="../../ldap/enum.LdapSession.html" title="enum kanidmd_lib::ldap::LdapSession">LdapSession</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../identity/struct.Identity.html" title="struct kanidmd_lib::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></div><div id="method.validate_and_parse_sync_token_to_ident" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/kanidmd_lib/idm/server.rs.html#736">source</a></div><h4 class="code-header">fn <a href="#method.validate_and_parse_sync_token_to_ident" class="fnname">validate_and_parse_sync_token_to_ident</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;token: <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.str.html">str</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;ct: <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../identity/struct.Identity.html" title="struct kanidmd_lib::identity::Identity">Identity</a>, <a class="enum" href="../../prelude/enum.OperationError.html" title="enum kanidmd_lib::prelude::OperationError">OperationError</a>&gt;</h4></div></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" 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"><span class="rightside"><a class="srclink" href="../../../s