headless_lms_server/domain/oauth/
token_response.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, PartialEq, Eq, Clone)]
4pub struct TokenResponse {
5 pub access_token: String,
6 #[serde(skip_serializing_if = "Option::is_none")]
7 pub id_token: Option<String>,
8 #[serde(skip_serializing_if = "Option::is_none")]
9 pub refresh_token: Option<String>,
10 pub token_type: String,
11 pub expires_in: u32,
12}
13
14impl std::fmt::Debug for TokenResponse {
15 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
16 f.debug_struct("TokenResponse")
17 .field("access_token", &"<redacted>")
18 .field("id_token", &self.id_token.as_ref().map(|_| "<redacted>"))
19 .field(
20 "refresh_token",
21 &self.refresh_token.as_ref().map(|_| "<redacted>"),
22 )
23 .field("token_type", &self.token_type)
24 .field("expires_in", &self.expires_in)
25 .finish()
26 }
27}