Skip to main content

ory_kratos_client/models/
session_authentication_method.rs

1/*
2 * Ory Identities API
3 *
4 * This is the API specification for Ory Identities with features such as registration, login, recovery, account verification, profile settings, password reset, identity management, session management, email and sms delivery, and more. 
5 *
6 * The version of the OpenAPI document: v26.2.0
7 * Contact: office@ory.sh
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// SessionAuthenticationMethod : A singular authenticator used during authentication / login.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SessionAuthenticationMethod {
17    #[serde(rename = "aal", skip_serializing_if = "Option::is_none")]
18    pub aal: Option<models::AuthenticatorAssuranceLevel>,
19    /// When the authentication challenge was completed.
20    #[serde(rename = "completed_at", skip_serializing_if = "Option::is_none")]
21    pub completed_at: Option<String>,
22    /// The method used in this authenticator. password CredentialsTypePassword oidc CredentialsTypeOIDC totp CredentialsTypeTOTP lookup_secret CredentialsTypeLookup webauthn CredentialsTypeWebAuthn code CredentialsTypeCodeAuth passkey CredentialsTypePasskey profile CredentialsTypeProfile saml CredentialsTypeSAML link_recovery CredentialsTypeRecoveryLink  CredentialsTypeRecoveryLink is a special credential type linked to the link strategy (recovery flow).  It is not used within the credentials object itself. code_recovery CredentialsTypeRecoveryCode
23    #[serde(rename = "method", skip_serializing_if = "Option::is_none")]
24    pub method: Option<MethodEnum>,
25    /// The Organization id used for authentication
26    #[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
27    pub organization: Option<String>,
28    /// OIDC or SAML provider id used for authentication
29    #[serde(rename = "provider", skip_serializing_if = "Option::is_none")]
30    pub provider: Option<String>,
31}
32
33impl SessionAuthenticationMethod {
34    /// A singular authenticator used during authentication / login.
35    pub fn new() -> SessionAuthenticationMethod {
36        SessionAuthenticationMethod {
37            aal: None,
38            completed_at: None,
39            method: None,
40            organization: None,
41            provider: None,
42        }
43    }
44}
45/// The method used in this authenticator. password CredentialsTypePassword oidc CredentialsTypeOIDC totp CredentialsTypeTOTP lookup_secret CredentialsTypeLookup webauthn CredentialsTypeWebAuthn code CredentialsTypeCodeAuth passkey CredentialsTypePasskey profile CredentialsTypeProfile saml CredentialsTypeSAML link_recovery CredentialsTypeRecoveryLink  CredentialsTypeRecoveryLink is a special credential type linked to the link strategy (recovery flow).  It is not used within the credentials object itself. code_recovery CredentialsTypeRecoveryCode
46#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
47pub enum MethodEnum {
48    #[serde(rename = "password")]
49    Password,
50    #[serde(rename = "oidc")]
51    Oidc,
52    #[serde(rename = "totp")]
53    Totp,
54    #[serde(rename = "lookup_secret")]
55    LookupSecret,
56    #[serde(rename = "webauthn")]
57    Webauthn,
58    #[serde(rename = "code")]
59    Code,
60    #[serde(rename = "passkey")]
61    Passkey,
62    #[serde(rename = "profile")]
63    Profile,
64    #[serde(rename = "saml")]
65    Saml,
66    #[serde(rename = "link_recovery")]
67    LinkRecovery,
68    #[serde(rename = "code_recovery")]
69    CodeRecovery,
70}
71
72impl Default for MethodEnum {
73    fn default() -> MethodEnum {
74        Self::Password
75    }
76}
77