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}