1use prost::Message;
4
5#[allow(unused_imports)]
6pub use crate::enums::EAuthTokenRevokeAction;
7use crate::{
8 enums::{EAuthSessionGuardType, EAuthSessionSecurityHistory, EAuthTokenAppType, EAuthTokenPlatformType, EAuthTokenState, EAuthenticationType, ESessionPersistence, ETokenRenewalType},
9 messages::base::CMsgIPAddress,
10};
11
12#[derive(Clone, PartialEq, Message)]
14pub struct CAuthenticationGetPasswordRSAPublicKeyRequest {
15 #[prost(string, optional, tag = "1")]
16 pub account_name: Option<String>,
17}
18
19#[derive(Clone, PartialEq, Message)]
21pub struct CAuthenticationGetPasswordRSAPublicKeyResponse {
22 #[prost(string, optional, tag = "1")]
23 pub publickey_mod: Option<String>,
24 #[prost(string, optional, tag = "2")]
25 pub publickey_exp: Option<String>,
26 #[prost(uint64, optional, tag = "3")]
27 pub timestamp: Option<u64>,
28}
29
30#[derive(Clone, PartialEq, Message)]
32pub struct CAuthenticationDeviceDetails {
33 #[prost(string, optional, tag = "1")]
34 pub device_friendly_name: Option<String>,
35 #[prost(enumeration = "EAuthTokenPlatformType", optional, tag = "2")]
36 pub platform_type: Option<i32>,
37 #[prost(int32, optional, tag = "3")]
38 pub os_type: Option<i32>,
39 #[prost(uint32, optional, tag = "4")]
40 pub gaming_device_type: Option<u32>,
41 #[prost(uint32, optional, tag = "5")]
42 pub client_count: Option<u32>,
43 #[prost(bytes = "vec", optional, tag = "6")]
44 pub machine_id: Option<Vec<u8>>,
45 #[prost(enumeration = "EAuthTokenAppType", optional, tag = "7")]
46 pub app_type: Option<i32>,
47}
48
49#[derive(Clone, PartialEq, Message)]
51pub struct CAuthenticationBeginAuthSessionViaQRRequest {
52 #[prost(string, optional, tag = "1")]
53 pub device_friendly_name: Option<String>,
54 #[prost(enumeration = "EAuthTokenPlatformType", optional, tag = "2")]
55 pub platform_type: Option<i32>,
56 #[prost(message, optional, tag = "3")]
57 pub device_details: Option<CAuthenticationDeviceDetails>,
58 #[prost(string, optional, tag = "4")]
59 pub website_id: Option<String>,
60}
61
62#[derive(Clone, PartialEq, Message)]
64pub struct CAuthenticationBeginAuthSessionViaQRResponse {
65 #[prost(uint64, optional, tag = "1")]
66 pub client_id: Option<u64>,
67 #[prost(string, optional, tag = "2")]
68 pub challenge_url: Option<String>,
69 #[prost(bytes = "vec", optional, tag = "3")]
70 pub request_id: Option<Vec<u8>>,
71 #[prost(float, optional, tag = "4")]
72 pub interval: Option<f32>,
73 #[prost(message, repeated, tag = "5")]
74 pub allowed_confirmations: Vec<CAuthenticationAllowedConfirmation>,
75 #[prost(int32, optional, tag = "6")]
76 pub version: Option<i32>,
77}
78
79#[derive(Clone, PartialEq, Message)]
81pub struct CAuthenticationAllowedConfirmation {
82 #[prost(enumeration = "EAuthSessionGuardType", optional, tag = "1")]
83 pub confirmation_type: Option<i32>,
84 #[prost(string, optional, tag = "2")]
85 pub associated_message: Option<String>,
86}
87
88#[derive(Clone, PartialEq, Message)]
90pub struct CAuthenticationBeginAuthSessionViaCredentialsRequest {
91 #[prost(string, optional, tag = "1")]
92 pub device_friendly_name: Option<String>,
93 #[prost(string, optional, tag = "2")]
94 pub account_name: Option<String>,
95 #[prost(string, optional, tag = "3")]
96 pub encrypted_password: Option<String>,
97 #[prost(uint64, optional, tag = "4")]
98 pub encryption_timestamp: Option<u64>,
99 #[prost(bool, optional, tag = "5")]
100 pub remember_login: Option<bool>,
101 #[prost(enumeration = "EAuthTokenPlatformType", optional, tag = "6")]
102 pub platform_type: Option<i32>,
103 #[prost(enumeration = "ESessionPersistence", optional, tag = "7")]
104 pub persistence: Option<i32>,
105 #[prost(string, optional, tag = "8")]
106 pub website_id: Option<String>,
107 #[prost(message, optional, tag = "9")]
108 pub device_details: Option<CAuthenticationDeviceDetails>,
109 #[prost(string, optional, tag = "10")]
110 pub guard_data: Option<String>,
111 #[prost(uint32, optional, tag = "11")]
112 pub language: Option<u32>,
113 #[prost(int32, optional, tag = "12")]
114 pub qos_level: Option<i32>,
115}
116
117#[derive(Clone, PartialEq, Message)]
119pub struct CAuthenticationBeginAuthSessionViaCredentialsResponse {
120 #[prost(uint64, optional, tag = "1")]
121 pub client_id: Option<u64>,
122 #[prost(bytes = "vec", optional, tag = "2")]
123 pub request_id: Option<Vec<u8>>,
124 #[prost(float, optional, tag = "3")]
125 pub interval: Option<f32>,
126 #[prost(message, repeated, tag = "4")]
127 pub allowed_confirmations: Vec<CAuthenticationAllowedConfirmation>,
128 #[prost(uint64, optional, tag = "5")]
129 pub steamid: Option<u64>,
130 #[prost(string, optional, tag = "6")]
131 pub weak_token: Option<String>,
132 #[prost(string, optional, tag = "7")]
133 pub agreement_session_url: Option<String>,
134 #[prost(string, optional, tag = "8")]
135 pub extended_error_message: Option<String>,
136}
137
138#[derive(Clone, PartialEq, Message)]
140pub struct CAuthenticationPollAuthSessionStatusRequest {
141 #[prost(uint64, optional, tag = "1")]
142 pub client_id: Option<u64>,
143 #[prost(bytes = "vec", optional, tag = "2")]
144 pub request_id: Option<Vec<u8>>,
145 #[prost(fixed64, optional, tag = "3")]
146 pub token_to_revoke: Option<u64>,
147}
148
149#[derive(Clone, PartialEq, Message)]
151pub struct CAuthenticationPollAuthSessionStatusResponse {
152 #[prost(uint64, optional, tag = "1")]
153 pub new_client_id: Option<u64>,
154 #[prost(string, optional, tag = "2")]
155 pub new_challenge_url: Option<String>,
156 #[prost(string, optional, tag = "3")]
157 pub refresh_token: Option<String>,
158 #[prost(string, optional, tag = "4")]
159 pub access_token: Option<String>,
160 #[prost(bool, optional, tag = "5")]
161 pub had_remote_interaction: Option<bool>,
162 #[prost(string, optional, tag = "6")]
163 pub account_name: Option<String>,
164 #[prost(string, optional, tag = "7")]
165 pub new_guard_data: Option<String>,
166 #[prost(string, optional, tag = "8")]
167 pub agreement_session_url: Option<String>,
168}
169
170#[derive(Clone, PartialEq, Message)]
172pub struct CAuthenticationGetAuthSessionInfoRequest {
173 #[prost(uint64, optional, tag = "1")]
174 pub client_id: Option<u64>,
175}
176
177#[derive(Clone, PartialEq, Message)]
179pub struct CAuthenticationGetAuthSessionInfoResponse {
180 #[prost(string, optional, tag = "1")]
181 pub ip: Option<String>,
182 #[prost(string, optional, tag = "2")]
183 pub geoloc: Option<String>,
184 #[prost(string, optional, tag = "3")]
185 pub city: Option<String>,
186 #[prost(string, optional, tag = "4")]
187 pub state: Option<String>,
188 #[prost(string, optional, tag = "5")]
189 pub country: Option<String>,
190 #[prost(enumeration = "EAuthTokenPlatformType", optional, tag = "6")]
191 pub platform_type: Option<i32>,
192 #[prost(string, optional, tag = "7")]
193 pub device_friendly_name: Option<String>,
194 #[prost(int32, optional, tag = "8")]
195 pub version: Option<i32>,
196 #[prost(enumeration = "EAuthSessionSecurityHistory", optional, tag = "9")]
197 pub login_history: Option<i32>,
198 #[prost(bool, optional, tag = "10")]
199 pub requestor_location_mismatch: Option<bool>,
200 #[prost(bool, optional, tag = "11")]
201 pub high_usage_login: Option<bool>,
202 #[prost(enumeration = "ESessionPersistence", optional, tag = "12")]
203 pub requested_persistence: Option<i32>,
204 #[prost(int32, optional, tag = "13")]
205 pub device_trust: Option<i32>,
206 #[prost(enumeration = "EAuthTokenAppType", optional, tag = "14")]
207 pub app_type: Option<i32>,
208}
209
210#[derive(Clone, PartialEq, Message)]
212pub struct CAuthenticationUpdateAuthSessionWithMobileConfirmationRequest {
213 #[prost(int32, optional, tag = "1")]
214 pub version: Option<i32>,
215 #[prost(uint64, optional, tag = "2")]
216 pub client_id: Option<u64>,
217 #[prost(fixed64, optional, tag = "3")]
218 pub steamid: Option<u64>,
219 #[prost(bytes = "vec", optional, tag = "4")]
220 pub signature: Option<Vec<u8>>,
221 #[prost(bool, optional, tag = "5")]
222 pub confirm: Option<bool>,
223 #[prost(enumeration = "ESessionPersistence", optional, tag = "6")]
224 pub persistence: Option<i32>,
225}
226
227#[derive(Clone, PartialEq, Message)]
229pub struct CAuthenticationUpdateAuthSessionWithMobileConfirmationResponse {}
230
231#[derive(Clone, PartialEq, Message)]
233pub struct CAuthenticationUpdateAuthSessionWithSteamGuardCodeRequest {
234 #[prost(uint64, optional, tag = "1")]
235 pub client_id: Option<u64>,
236 #[prost(fixed64, optional, tag = "2")]
237 pub steamid: Option<u64>,
238 #[prost(string, optional, tag = "3")]
239 pub code: Option<String>,
240 #[prost(enumeration = "EAuthSessionGuardType", optional, tag = "4")]
241 pub code_type: Option<i32>,
242}
243
244#[derive(Clone, PartialEq, Message)]
246pub struct CAuthenticationUpdateAuthSessionWithSteamGuardCodeResponse {
247 #[prost(string, optional, tag = "7")]
248 pub agreement_session_url: Option<String>,
249}
250
251#[derive(Clone, PartialEq, Message)]
253pub struct CAuthenticationAccessTokenGenerateForAppRequest {
254 #[prost(string, optional, tag = "1")]
255 pub refresh_token: Option<String>,
256 #[prost(fixed64, optional, tag = "2")]
257 pub steamid: Option<u64>,
258 #[prost(enumeration = "ETokenRenewalType", optional, tag = "3")]
259 pub renewal_type: Option<i32>,
260}
261
262#[derive(Clone, PartialEq, Message)]
264pub struct CAuthenticationAccessTokenGenerateForAppResponse {
265 #[prost(string, optional, tag = "1")]
266 pub access_token: Option<String>,
267 #[prost(string, optional, tag = "2")]
268 pub refresh_token: Option<String>,
269}
270
271#[derive(Clone, PartialEq, Message)]
273#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
274#[cfg_attr(feature = "serde", serde(default))]
275pub struct CAuthenticationRefreshTokenEnumerateRequest {
276 #[prost(bool, optional, tag = "1")]
277 pub include_revoked: Option<bool>,
278}
279
280#[derive(Clone, PartialEq, Message)]
282#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
283#[cfg_attr(feature = "serde", serde(default))]
284pub struct TokenUsageEvent {
285 #[prost(uint32, optional, tag = "1")]
286 pub time: Option<u32>,
287 #[prost(message, optional, tag = "2")]
288 pub ip: Option<CMsgIPAddress>,
289 #[prost(string, optional, tag = "3")]
290 pub locale: Option<String>,
291 #[prost(string, optional, tag = "4")]
292 pub country: Option<String>,
293 #[prost(string, optional, tag = "5")]
294 pub state: Option<String>,
295 #[prost(string, optional, tag = "6")]
296 pub city: Option<String>,
297}
298
299#[derive(Clone, PartialEq, Message)]
301#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
302#[cfg_attr(feature = "serde", serde(default))]
303pub struct RefreshTokenDescription {
304 #[prost(fixed64, optional, tag = "1")]
305 pub token_id: Option<u64>,
306 #[prost(string, optional, tag = "2")]
307 pub token_description: Option<String>,
308 #[prost(uint32, optional, tag = "3")]
309 pub time_updated: Option<u32>,
310 #[prost(enumeration = "EAuthTokenPlatformType", optional, tag = "4")]
311 pub platform_type: Option<i32>,
312 #[prost(bool, optional, tag = "5")]
313 pub logged_in: Option<bool>,
314 #[prost(uint32, optional, tag = "6")]
315 pub os_platform: Option<u32>,
316 #[prost(uint32, optional, tag = "7")]
317 pub auth_type: Option<u32>,
318 #[prost(uint32, optional, tag = "8")]
319 pub gaming_device_type: Option<u32>,
320 #[prost(message, optional, tag = "9")]
321 pub first_seen: Option<TokenUsageEvent>,
322 #[prost(message, optional, tag = "10")]
323 pub last_seen: Option<TokenUsageEvent>,
324 #[prost(int32, optional, tag = "11")]
325 pub os_type: Option<i32>,
326 #[prost(enumeration = "EAuthenticationType", optional, tag = "12")]
327 pub authentication_type: Option<i32>,
328 #[prost(enumeration = "EAuthTokenState", optional, tag = "13")]
329 pub effective_token_state: Option<i32>,
330}
331
332#[derive(Clone, PartialEq, Message)]
334#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
335#[cfg_attr(feature = "serde", serde(default))]
336pub struct CAuthenticationRefreshTokenEnumerateResponse {
337 #[prost(message, repeated, tag = "1")]
338 pub refresh_tokens: Vec<RefreshTokenDescription>,
339 #[prost(fixed64, optional, tag = "2")]
340 pub requesting_token: Option<u64>,
341}
342
343#[derive(Clone, PartialEq, Message)]
345pub struct CAuthenticationRefreshTokenRevokeRequest {
346 #[prost(fixed64, optional, tag = "1")]
347 pub token_id: Option<u64>,
348 #[prost(fixed64, optional, tag = "2")]
349 pub steamid: Option<u64>,
350 #[prost(enumeration = "EAuthTokenRevokeAction", optional, tag = "3")]
351 pub revoke_action: Option<i32>,
352 #[prost(bytes = "vec", optional, tag = "4")]
353 pub signature: Option<Vec<u8>>,
354}
355
356#[derive(Clone, PartialEq, Message)]
358pub struct CAuthenticationRefreshTokenRevokeResponse {}