Skip to main content

ory_kratos_client/models/
session.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/// Session : A Session
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Session {
17    /// Active state. If false the session is no longer active.
18    #[serde(rename = "active", skip_serializing_if = "Option::is_none")]
19    pub active: Option<bool>,
20    /// The Session Authentication Timestamp  When this session was authenticated at. If multi-factor authentication was used this is the time when the last factor was authenticated (e.g. the TOTP code challenge was completed).
21    #[serde(rename = "authenticated_at", skip_serializing_if = "Option::is_none")]
22    pub authenticated_at: Option<String>,
23    /// A list of authenticators which were used to authenticate the session.
24    #[serde(rename = "authentication_methods", skip_serializing_if = "Option::is_none")]
25    pub authentication_methods: Option<Vec<models::SessionAuthenticationMethod>>,
26    #[serde(rename = "authenticator_assurance_level", skip_serializing_if = "Option::is_none")]
27    pub authenticator_assurance_level: Option<models::AuthenticatorAssuranceLevel>,
28    /// Devices has history of all endpoints where the session was used
29    #[serde(rename = "devices", skip_serializing_if = "Option::is_none")]
30    pub devices: Option<Vec<models::SessionDevice>>,
31    /// The Session Expiry  When this session expires at.
32    #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
33    pub expires_at: Option<String>,
34    /// Session ID
35    #[serde(rename = "id")]
36    pub id: String,
37    #[serde(rename = "identity", skip_serializing_if = "Option::is_none")]
38    pub identity: Option<Box<models::Identity>>,
39    /// The Session Issuance Timestamp  When this session was issued at. Usually equal or close to `authenticated_at`.
40    #[serde(rename = "issued_at", skip_serializing_if = "Option::is_none")]
41    pub issued_at: Option<String>,
42    /// Tokenized is the tokenized (e.g. JWT) version of the session.  It is only set when the `tokenize_as` query parameter was set to a valid tokenize template during calls to `/session/whoami`.
43    #[serde(rename = "tokenized", skip_serializing_if = "Option::is_none")]
44    pub tokenized: Option<String>,
45}
46
47impl Session {
48    /// A Session
49    pub fn new(id: String) -> Session {
50        Session {
51            active: None,
52            authenticated_at: None,
53            authentication_methods: None,
54            authenticator_assurance_level: None,
55            devices: None,
56            expires_at: None,
57            id,
58            identity: None,
59            issued_at: None,
60            tokenized: None,
61        }
62    }
63}
64