ones_oidc/
oidc_backend.rs1use super::oidc_types::LoginHintKind;
2use serde::{Deserialize, Serialize};
3
4#[derive(Deserialize, PartialEq, Eq)]
5#[serde(rename_all = "lowercase")]
6pub enum AuthRequestResource {
7 Idp,
8 Device,
9}
10
11#[derive(Deserialize)]
12pub struct CibaLoginRequestFrontend {
13 #[serde(rename = "loginHintKind")]
14 pub login_hint_kind: LoginHintKind,
15 #[serde(rename = "userIdentifier")]
16 pub user_identifier: String,
17 #[serde(rename = "sessionId")]
18 pub session_id: Option<String>,
19 pub resource: AuthRequestResource,
20 pub scope: String,
21}
22
23#[derive(Deserialize)]
25#[allow(dead_code)]
26pub struct CibaLoginRequestFrontendOptionalResource {
27 #[serde(rename = "loginHintKind")]
28 pub login_hint_kind: LoginHintKind,
29 #[serde(rename = "userIdentifier")]
30 pub user_identifier: String,
31 #[serde(rename = "sessionId")]
32 pub session_id: Option<String>,
33 pub resource: Option<AuthRequestResource>,
34 pub scope: Option<String>,
35}
36
37#[derive(Deserialize)]
39#[allow(dead_code)]
40pub struct CibaLoginRequestFrontendWithoutResource {
41 #[serde(rename = "loginHintKind")]
42 pub login_hint_kind: LoginHintKind,
43 #[serde(rename = "userIdentifier")]
44 pub user_identifier: String,
45 #[serde(rename = "sessionId")]
46 pub session_id: Option<String>,
47 pub scope: Option<String>,
48}
49
50#[derive(Deserialize)]
51#[serde(rename_all = "snake_case")]
52pub struct CibaStatusRequestFrontend {
53 #[serde(rename = "authRequestId")]
54 pub auth_request_id: String,
55}
56
57#[derive(Deserialize)]
58pub struct RefreshTokenRequestFrontend {
59 pub grant_type: String,
60 pub refresh_token: String,
61}
62
63#[derive(Serialize, Deserialize)]
64pub struct QrStatusRequest {
65 #[serde(rename = "sessionId")]
66 pub session_id: String,
67}
68
69impl QrStatusRequest {
70 pub fn from_request_frontend(frontend: QrStatusRequestFrontend) -> Self {
71 Self {
72 session_id: frontend.session_id,
73 }
74 }
75}
76
77#[derive(Deserialize, Clone)]
78pub struct QrStatusRequestFrontend {
79 #[serde(rename = "sessionId")]
80 pub session_id: String,
81}