jquants_api_client/api/shared/auth/id_token.rs
1//! ID Token (/token/auth_refresh) API definition.
2
3use core::fmt;
4
5use serde::{Deserialize, Serialize};
6
7/// Request for get ID Token (/token/auth_refresh)
8///
9/// See: [JQuants API](https://jpx.gitbook.io/j-quants-en/api-reference/idtoken)
10///
11/// # Security
12///
13/// While the Debug trait is implemented, the `refresh_token` is masked due to security risks.
14/// If you wish to display it, please do so at your own responsibility.
15#[derive(Clone, Serialize)]
16pub struct IdTokenRequest {
17 /// The refresh token.
18 #[serde(rename = "refreshtoken")]
19 pub refresh_token: String,
20}
21
22impl fmt::Debug for IdTokenRequest {
23 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
24 let masking = "********";
25
26 f.debug_struct("IdTokenRequest")
27 .field("refresh_token", &masking)
28 .finish()
29 }
30}
31
32/// Response for get ID Token (/token/auth_refresh)
33///
34/// See: [JQuants API](https://jpx.gitbook.io/j-quants-en/api-reference/idtoken)
35///
36/// # Security
37///
38/// While the Debug trait is implemented, the `id_token` is masked due to security risks.
39/// If you wish to display it, please do so at your own responsibility.
40#[derive(Deserialize)]
41pub struct IdTokenResponse {
42 /// The ID token.
43 #[serde(rename = "idToken")]
44 pub id_token: String,
45}
46
47impl fmt::Debug for IdTokenResponse {
48 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
49 let masking = "********";
50
51 f.debug_struct("IdTokenResponse")
52 .field("id_token", &masking)
53 .finish()
54 }
55}