steamutils 1.2.93 → 1.2.95

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. package/.idea/deployment.xml +21 -0
  2. package/.idea/steamutils.iml +1 -1
  3. package/.idea/vcs.xml +1 -1
  4. package/SteamClient.js +57 -17
  5. package/free_packages.json +10048 -10048
  6. package/index.js +12 -2
  7. package/package.json +1 -1
  8. package/protos/csgo/base_gcmessages_csgo.proto +547 -547
  9. package/protos/csgo/c_peer2peer_netmessages.proto +55 -55
  10. package/protos/csgo/clientmessages.proto +48 -48
  11. package/protos/csgo/connectionless_netmessages.proto +19 -19
  12. package/protos/csgo/cs_gameevents.proto +34 -34
  13. package/protos/csgo/cs_usercmd.proto +34 -34
  14. package/protos/csgo/cstrike15_gcmessages.proto +1402 -1402
  15. package/protos/csgo/cstrike15_usermessages.proto +596 -596
  16. package/protos/csgo/demo.proto +160 -160
  17. package/protos/csgo/econ_gcmessages.proto +228 -228
  18. package/protos/csgo/engine_gcmessages.proto +14 -14
  19. package/protos/csgo/enums_clientserver.proto +1529 -1529
  20. package/protos/csgo/fatdemo.proto +125 -125
  21. package/protos/csgo/gameevents.proto +120 -120
  22. package/protos/csgo/gcsdk_gcmessages.proto +323 -323
  23. package/protos/csgo/gcsystemmsgs.proto +242 -242
  24. package/protos/csgo/netmessages.proto +604 -604
  25. package/protos/csgo/network_connection.proto +126 -126
  26. package/protos/csgo/networkbasetypes.proto +244 -244
  27. package/protos/csgo/networksystem_protomessages.proto +17 -17
  28. package/protos/csgo/steamdatagram_messages_auth.proto +65 -65
  29. package/protos/csgo/steamdatagram_messages_sdr.proto +534 -534
  30. package/protos/csgo/steammessages.proto +597 -597
  31. package/protos/csgo/steammessages_base.proto +301 -301
  32. package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -68
  33. package/protos/csgo/steammessages_gamenetworkingui.proto +61 -61
  34. package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -22
  35. package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -18
  36. package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -254
  37. package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -233
  38. package/protos/csgo/steammessages_steamlearn.steamworkssdk.proto +357 -357
  39. package/protos/csgo/steammessages_unified_base.steamworkssdk.proto +30 -30
  40. package/protos/csgo/steamnetworkingsockets_messages.proto +205 -205
  41. package/protos/csgo/steamnetworkingsockets_messages_certs.proto +39 -39
  42. package/protos/csgo/steamnetworkingsockets_messages_udp.proto +75 -75
  43. package/protos/csgo/te.proto +259 -259
  44. package/protos/csgo/uifontfile_format.proto +13 -13
  45. package/protos/csgo/usercmd.proto +38 -38
  46. package/protos/csgo/usermessages.proto +721 -721
  47. package/protos/csgo/valveextensions.proto +17 -17
  48. package/protos/google/protobuf/descriptor.proto +281 -281
  49. package/protos/steam/clientmetrics.proto +45 -45
  50. package/protos/steam/content_manifest.proto +62 -62
  51. package/protos/steam/contenthubs.proto +41 -41
  52. package/protos/steam/encrypted_app_ticket.proto +10 -10
  53. package/protos/steam/enums.proto +444 -444
  54. package/protos/steam/enums_clientserver.proto +1539 -1539
  55. package/protos/steam/enums_productinfo.proto +13 -13
  56. package/protos/steam/htmlmessages.proto +1027 -1027
  57. package/protos/steam/offline_ticket.proto +8 -8
  58. package/protos/steam/renderer/rendermessages.proto +893 -893
  59. package/protos/steam/steamdatagram_messages_auth.proto +65 -65
  60. package/protos/steam/steamdatagram_messages_sdr.proto +533 -533
  61. package/protos/steam/steammessages_accounthardware.steamclient.proto +201 -201
  62. package/protos/steam/steammessages_appoverview.proto +187 -187
  63. package/protos/steam/steammessages_auth.steamclient.proto +435 -435
  64. package/protos/steam/steammessages_base.proto +332 -332
  65. package/protos/steam/steammessages_broadcast.steamclient.proto +759 -759
  66. package/protos/steam/steammessages_chat.steamclient.proto +1281 -1281
  67. package/protos/steam/steammessages_client_objects.proto +645 -645
  68. package/protos/steam/steammessages_clientlanp2p.proto +42 -42
  69. package/protos/steam/steammessages_clientmetrics.steamclient.proto +194 -194
  70. package/protos/steam/steammessages_clientnotificationtypes.proto +231 -231
  71. package/protos/steam/steammessages_clientserver.proto +392 -392
  72. package/protos/steam/steammessages_clientserver_2.proto +760 -760
  73. package/protos/steam/steammessages_clientserver_appinfo.proto +131 -131
  74. package/protos/steam/steammessages_clientserver_friends.proto +260 -260
  75. package/protos/steam/steammessages_clientserver_gameservers.proto +159 -159
  76. package/protos/steam/steammessages_clientserver_lbs.proto +70 -70
  77. package/protos/steam/steammessages_clientserver_login.proto +167 -167
  78. package/protos/steam/steammessages_clientserver_ucm.proto +205 -205
  79. package/protos/steam/steammessages_clientserver_uds.proto +124 -124
  80. package/protos/steam/steammessages_clientserver_ufs.proto +172 -172
  81. package/protos/steam/steammessages_clientserver_userstats.proto +80 -80
  82. package/protos/steam/steammessages_clientsettings.proto +168 -168
  83. package/protos/steam/steammessages_cloud.steamclient.proto +513 -513
  84. package/protos/steam/steammessages_contentsystem.steamclient.proto +115 -115
  85. package/protos/steam/steammessages_credentials.steamclient.proto +115 -115
  86. package/protos/steam/steammessages_datapublisher.steamclient.proto +116 -116
  87. package/protos/steam/steammessages_depotbuilder.steamclient.proto +118 -118
  88. package/protos/steam/steammessages_deviceauth.steamclient.proto +203 -203
  89. package/protos/steam/steammessages_econ.steamclient.proto +150 -150
  90. package/protos/steam/steammessages_friendmessages.steamclient.proto +168 -168
  91. package/protos/steam/steammessages_gamenetworking.steamclient.proto +32 -32
  92. package/protos/steam/steammessages_gamenetworkingui.proto +61 -61
  93. package/protos/steam/steammessages_gamenotifications.steamclient.proto +156 -156
  94. package/protos/steam/steammessages_gameservers.steamclient.proto +152 -152
  95. package/protos/steam/steammessages_hiddevices.proto +157 -157
  96. package/protos/steam/steammessages_inventory.steamclient.proto +224 -224
  97. package/protos/steam/steammessages_linkfilter.steamclient.proto +49 -49
  98. package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +33 -33
  99. package/protos/steam/steammessages_market.steamclient.proto +26 -26
  100. package/protos/steam/steammessages_marketingmessages.steamclient.proto +274 -274
  101. package/protos/steam/steammessages_offline.steamclient.proto +40 -40
  102. package/protos/steam/steammessages_parental.steamclient.proto +228 -228
  103. package/protos/steam/steammessages_parties.steamclient.proto +94 -94
  104. package/protos/steam/steammessages_partnerapps.steamclient.proto +138 -138
  105. package/protos/steam/steammessages_player.steamclient.proto +1060 -1060
  106. package/protos/steam/steammessages_publishedfile.steamclient.proto +813 -813
  107. package/protos/steam/steammessages_qms.steamclient.proto +125 -125
  108. package/protos/steam/steammessages_remoteclient.proto +99 -99
  109. package/protos/steam/steammessages_remoteclient_discovery.proto +235 -235
  110. package/protos/steam/steammessages_remoteclient_service.steamclient.proto +86 -86
  111. package/protos/steam/steammessages_remoteclient_service_messages.proto +217 -217
  112. package/protos/steam/steammessages_remoteplay.proto +976 -976
  113. package/protos/steam/steammessages_secrets.steamclient.proto +39 -39
  114. package/protos/steam/steammessages_shader.steamclient.proto +108 -108
  115. package/protos/steam/steammessages_site_license.steamclient.proto +128 -128
  116. package/protos/steam/steammessages_sitelicenseclient.proto +38 -38
  117. package/protos/steam/steammessages_siteserverui.proto +130 -130
  118. package/protos/steam/steammessages_star.steamclient.proto +64 -64
  119. package/protos/steam/steammessages_steamtv.steamclient.proto +630 -630
  120. package/protos/steam/steammessages_store.steamclient.proto +371 -371
  121. package/protos/steam/steammessages_storebrowse.steamclient.proto +402 -402
  122. package/protos/steam/steammessages_timedtrial.steamclient.proto +50 -50
  123. package/protos/steam/steammessages_twofactor.steamclient.proto +186 -186
  124. package/protos/steam/steammessages_unified_base.steamclient.proto +33 -33
  125. package/protos/steam/steammessages_unified_test.steamclient.proto +61 -61
  126. package/protos/steam/steammessages_useraccount.steamclient.proto +249 -249
  127. package/protos/steam/steammessages_vac.steamclient.proto +44 -44
  128. package/protos/steam/steammessages_video.steamclient.proto +171 -171
  129. package/protos/steam/steammessages_virtualcontroller.proto +138 -138
  130. package/protos/steam/steammessages_workshop.steamclient.proto +23 -23
  131. package/protos/steam/steamnetworkingsockets_messages.proto +205 -205
  132. package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -39
  133. package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -75
  134. package/protos/steam/webuimessages_base.proto +24 -24
  135. package/protos/steam/webuimessages_gamenotes.proto +21 -21
  136. package/protos/steam/webuimessages_steamengine.proto +32 -32
  137. package/protos/steam/webuimessages_storagedevicemanager.proto +110 -110
  138. package/protos/steam/webuimessages_systemmanager.proto +17 -17
  139. package/protos/steam/webuimessages_transport.proto +18 -18
  140. package/protos/steam/webuimessages_transportvalidation.proto +97 -97
  141. package/protos/webui/common.proto +5508 -5508
  142. package/protos/webui/common_base.proto +27 -27
  143. package/protos/webui/service_accountlinking.proto +27 -27
  144. package/protos/webui/service_accountprivacy.proto +42 -42
  145. package/protos/webui/service_auction.proto +97 -97
  146. package/protos/webui/service_authentication.proto +222 -222
  147. package/protos/webui/service_authenticationsupport.proto +74 -74
  148. package/protos/webui/service_broadcast.proto +562 -562
  149. package/protos/webui/service_chat.proto +11 -11
  150. package/protos/webui/service_chatroom.proto +810 -810
  151. package/protos/webui/service_chatusability.proto +107 -107
  152. package/protos/webui/service_clan.proto +41 -41
  153. package/protos/webui/service_clanchatrooms.proto +25 -25
  154. package/protos/webui/service_clanfaqs.proto +202 -202
  155. package/protos/webui/service_clientcomm.proto +150 -150
  156. package/protos/webui/service_clientmetrics.proto +63 -63
  157. package/protos/webui/service_cloud.proto +222 -222
  158. package/protos/webui/service_cloudconfigstore.proto +51 -51
  159. package/protos/webui/service_cloudgaming.proto +30 -30
  160. package/protos/webui/service_community.proto +365 -365
  161. package/protos/webui/service_econ.proto +134 -134
  162. package/protos/webui/service_embedded.proto +24 -24
  163. package/protos/webui/service_experimentservice.proto +6 -6
  164. package/protos/webui/service_fovasvideo.proto +15 -15
  165. package/protos/webui/service_friendmessages.proto +133 -133
  166. package/protos/webui/service_friendslist.proto +70 -70
  167. package/protos/webui/service_gamenotes.proto +15 -15
  168. package/protos/webui/service_helprequestlogs.proto +26 -26
  169. package/protos/webui/service_loyaltyrewards.proto +252 -252
  170. package/protos/webui/service_marketingmessages.proto +184 -184
  171. package/protos/webui/service_mobileapp.proto +18 -18
  172. package/protos/webui/service_mobileauth.proto +24 -24
  173. package/protos/webui/service_mobiledevice.proto +26 -26
  174. package/protos/webui/service_mobileperaccount.proto +31 -31
  175. package/protos/webui/service_news.proto +101 -101
  176. package/protos/webui/service_parental.proto +178 -178
  177. package/protos/webui/service_partnermembershipinvite.proto +29 -29
  178. package/protos/webui/service_partnerstorebrowse.proto +6 -6
  179. package/protos/webui/service_phone.proto +51 -51
  180. package/protos/webui/service_physicalgoods.proto +15 -15
  181. package/protos/webui/service_player.proto +885 -885
  182. package/protos/webui/service_promotioneventinvites.proto +50 -50
  183. package/protos/webui/service_promotionplanning.proto +72 -72
  184. package/protos/webui/service_publishedfile.proto +687 -687
  185. package/protos/webui/service_publishing.proto +119 -119
  186. package/protos/webui/service_quest.proto +127 -127
  187. package/protos/webui/service_salefeature.proto +315 -315
  188. package/protos/webui/service_saleitemrewards.proto +54 -54
  189. package/protos/webui/service_shoppingcart.proto +108 -108
  190. package/protos/webui/service_steamawards.proto +19 -19
  191. package/protos/webui/service_steamcharts.proto +75 -75
  192. package/protos/webui/service_steamengine.proto +36 -36
  193. package/protos/webui/service_steamlearn.proto +727 -727
  194. package/protos/webui/service_steamnotification.proto +84 -84
  195. package/protos/webui/service_steamtv.proto +495 -495
  196. package/protos/webui/service_steamvrvoicechat.proto +67 -67
  197. package/protos/webui/service_steamvrwebrtc.proto +48 -48
  198. package/protos/webui/service_storagedevicemanager.proto +104 -104
  199. package/protos/webui/service_store.proto +289 -289
  200. package/protos/webui/service_storeappsimilarity.proto +76 -76
  201. package/protos/webui/service_storebrowse.proto +73 -73
  202. package/protos/webui/service_storequery.proto +97 -97
  203. package/protos/webui/service_storesales.proto +15 -15
  204. package/protos/webui/service_storetopsellers.proto +44 -44
  205. package/protos/webui/service_systemmanager.proto +11 -11
  206. package/protos/webui/service_test_transporterror.proto +6 -6
  207. package/protos/webui/service_transportauth.proto +12 -12
  208. package/protos/webui/service_transportvalidation.proto +69 -69
  209. package/protos/webui/service_twofactor.proto +181 -181
  210. package/protos/webui/service_useraccount.proto +138 -138
  211. package/protos/webui/service_usergameactivity.proto +34 -34
  212. package/protos/webui/service_usergamenotes.proto +53 -53
  213. package/protos/webui/service_usernews.proto +68 -68
  214. package/protos/webui/service_userreviews.proto +96 -96
  215. package/protos/webui/service_video.proto +128 -128
  216. package/protos/webui/service_voicechat.proto +139 -139
  217. package/protos/webui/service_webrtc.proto +52 -52
  218. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
@@ -1,435 +1,435 @@
1
- import "steammessages_base.proto";
2
- import "steammessages_unified_base.steamclient.proto";
3
- import "enums.proto";
4
-
5
- option cc_generic_services = true;
6
-
7
- enum EAuthTokenPlatformType {
8
- k_EAuthTokenPlatformType_Unknown = 0;
9
- k_EAuthTokenPlatformType_SteamClient = 1;
10
- k_EAuthTokenPlatformType_WebBrowser = 2;
11
- k_EAuthTokenPlatformType_MobileApp = 3;
12
- }
13
-
14
- enum EAuthSessionGuardType {
15
- k_EAuthSessionGuardType_Unknown = 0;
16
- k_EAuthSessionGuardType_None = 1;
17
- k_EAuthSessionGuardType_EmailCode = 2;
18
- k_EAuthSessionGuardType_DeviceCode = 3;
19
- k_EAuthSessionGuardType_DeviceConfirmation = 4;
20
- k_EAuthSessionGuardType_EmailConfirmation = 5;
21
- k_EAuthSessionGuardType_MachineToken = 6;
22
- k_EAuthSessionGuardType_LegacyMachineAuth = 7;
23
- }
24
-
25
- enum EAuthSessionSecurityHistory {
26
- k_EAuthSessionSecurityHistory_Invalid = 0;
27
- k_EAuthSessionSecurityHistory_UsedPreviously = 1;
28
- k_EAuthSessionSecurityHistory_NoPriorHistory = 2;
29
- }
30
-
31
- enum ETokenRenewalType {
32
- k_ETokenRenewalType_None = 0;
33
- k_ETokenRenewalType_Allow = 1;
34
- }
35
-
36
- enum EAuthTokenRevokeAction {
37
- k_EAuthTokenRevokeLogout = 0;
38
- k_EAuthTokenRevokePermanent = 1;
39
- k_EAuthTokenRevokeReplaced = 2;
40
- k_EAuthTokenRevokeSupport = 3;
41
- k_EAuthTokenRevokeConsume = 4;
42
- k_EAuthTokenRevokeNonRememberedLogout = 5;
43
- k_EAuthTokenRevokeNonRememberedPermanent = 6;
44
- k_EAuthTokenRevokeAutomatic = 7;
45
- }
46
-
47
- enum EAuthTokenState {
48
- k_EAuthTokenState_Invalid = 0;
49
- k_EAuthTokenState_New = 1;
50
- k_EAuthTokenState_Confirmed = 2;
51
- k_EAuthTokenState_Issued = 3;
52
- k_EAuthTokenState_Denied = 4;
53
- k_EAuthTokenState_LoggedOut = 5;
54
- k_EAuthTokenState_Consumed = 6;
55
- k_EAuthTokenState_Revoked = 99;
56
- }
57
-
58
- message CAuthentication_GetPasswordRSAPublicKey_Request {
59
- optional string account_name = 1 [(description) = "user-provided account name to get an RSA key for"];
60
- }
61
-
62
- message CAuthentication_GetPasswordRSAPublicKey_Response {
63
- optional string publickey_mod = 1 [(description) = "the public key modulus"];
64
- optional string publickey_exp = 2 [(description) = "the public key exponent"];
65
- optional uint64 timestamp = 3 [(description) = "the timestamp the key was generated"];
66
- }
67
-
68
- message CAuthentication_DeviceDetails {
69
- optional string device_friendly_name = 1 [(description) = "User-supplied, or client-supplied, friendly name of device"];
70
- optional .EAuthTokenPlatformType platform_type = 2 [default = k_EAuthTokenPlatformType_Unknown, (description) = "EAuthTokenPlatformType, claimed, of device"];
71
- optional int32 os_type = 3 [(description) = "EOSType, claimed, of authorized device"];
72
- optional uint32 gaming_device_type = 4 [(description) = "EGamingDeviceType, claimed, of authorized device for steam client-type devices"];
73
- optional uint32 client_count = 5 [(description) = "For desktop clients, quantized number of users in history"];
74
- optional bytes machine_id = 6 [(description) = "Additional device context"];
75
- }
76
-
77
- message CAuthentication_BeginAuthSessionViaQR_Request {
78
- optional string device_friendly_name = 1;
79
- optional .EAuthTokenPlatformType platform_type = 2 [default = k_EAuthTokenPlatformType_Unknown];
80
- optional .CAuthentication_DeviceDetails device_details = 3 [(description) = "User-supplied details about the device attempting to sign in"];
81
- optional string website_id = 4 [default = "Unknown", (description) = "(EMachineAuthWebDomain) identifier of client requesting auth"];
82
- }
83
-
84
- message CAuthentication_AllowedConfirmation {
85
- optional .EAuthSessionGuardType confirmation_type = 1 [default = k_EAuthSessionGuardType_Unknown, (description) = "authentication can proceed with this confirmation type"];
86
- optional string associated_message = 2 [(description) = "message to be interpreted depending on the confirmation type. for email confirmation, this might be the redacted email address to which email was sent."];
87
- }
88
-
89
- message CAuthentication_BeginAuthSessionViaQR_Response {
90
- optional uint64 client_id = 1 [(description) = "unique identifier of requestor, also used for routing, portion of QR code"];
91
- optional string challenge_url = 2 [(description) = "URL based on client ID, which will be rendered as QR code"];
92
- optional bytes request_id = 3 [(description) = "unique request ID to be presented by requestor at poll time - must not be rendered in QR"];
93
- optional float interval = 4 [(description) = "refresh interval with which requestor should call PollAuthSessionStatus"];
94
- repeated .CAuthentication_AllowedConfirmation allowed_confirmations = 5 [(description) = "the confirmation types that will be able to confirm the request"];
95
- optional int32 version = 6 [(description) = "version of the QR data"];
96
- }
97
-
98
- message CAuthentication_BeginAuthSessionViaCredentials_Request {
99
- optional string device_friendly_name = 1;
100
- optional string account_name = 2;
101
- optional string encrypted_password = 3 [(description) = "password, RSA encrypted client side"];
102
- optional uint64 encryption_timestamp = 4 [(description) = "timestamp to map to a key - STime"];
103
- optional bool remember_login = 5 [(description) = "deprecated"];
104
- optional .EAuthTokenPlatformType platform_type = 6 [default = k_EAuthTokenPlatformType_Unknown];
105
- optional .ESessionPersistence persistence = 7 [default = k_ESessionPersistence_Persistent, (description) = "whether we are requesting a persistent or an ephemeral session"];
106
- optional string website_id = 8 [default = "Unknown", (description) = "(EMachineAuthWebDomain) identifier of client requesting auth"];
107
- optional .CAuthentication_DeviceDetails device_details = 9 [(description) = "User-supplied details about the device attempting to sign in"];
108
- optional string guard_data = 10 [(description) = "steam guard data for client login"];
109
- optional uint32 language = 11;
110
- optional int32 qos_level = 12 [default = 2, (description) = "[ENetQOSLevel] client-specified priority for this auth attempt"];
111
- }
112
-
113
- message CAuthentication_BeginAuthSessionViaCredentials_Response {
114
- optional uint64 client_id = 1 [(description) = "unique identifier of requestor, also used for routing"];
115
- optional bytes request_id = 2 [(description) = "unique request ID to be presented by requestor at poll time - must not be transferred or displayed"];
116
- optional float interval = 3 [(description) = "refresh interval with which requestor should call PollAuthSessionStatus"];
117
- repeated .CAuthentication_AllowedConfirmation allowed_confirmations = 4 [(description) = "the confirmation types that will be able to confirm the request"];
118
- optional uint64 steamid = 5 [(description) = "steamid of the account logging in - will only be included if the credentials were correct"];
119
- optional string weak_token = 6 [(description) = "partial-authentication token - limited lifetime and scope, included only if credentials were valid"];
120
- optional string agreement_session_url = 7 [(description) = "agreement the user needs to agree to"];
121
- optional string extended_error_message = 8 [(description) = "error string to display if supported by the client"];
122
- }
123
-
124
- message CAuthentication_PollAuthSessionStatus_Request {
125
- optional uint64 client_id = 1;
126
- optional bytes request_id = 2;
127
- optional fixed64 token_to_revoke = 3 [(description) = "If this is set to a token owned by this user, that token will be retired"];
128
- }
129
-
130
- message CAuthentication_PollAuthSessionStatus_Response {
131
- optional uint64 new_client_id = 1 [(description) = "if challenge is old, this is the new client id"];
132
- optional string new_challenge_url = 2 [(description) = "if challenge is old, this is the new challenge ID to re-render for mobile confirmation"];
133
- optional string refresh_token = 3 [(description) = "if login has been confirmed, this is the requestor's new refresh token"];
134
- optional string access_token = 4 [(description) = "if login has been confirmed, this is a new token subordinate to refresh_token"];
135
- optional bool had_remote_interaction = 5 [(description) = "whether or not the auth session appears to have had remote interaction from a potential confirmer"];
136
- optional string account_name = 6 [(description) = "account name of authenticating account, for use by UI layer"];
137
- optional string new_guard_data = 7 [(description) = "if login has been confirmed, may contain remembered machine ID for future login"];
138
- optional string agreement_session_url = 8 [(description) = "agreement the user needs to agree to"];
139
- }
140
-
141
- message CAuthentication_GetAuthSessionInfo_Request {
142
- optional uint64 client_id = 1 [(description) = "client ID from scanned QR Code, used for routing"];
143
- }
144
-
145
- message CAuthentication_GetAuthSessionInfo_Response {
146
- optional string ip = 1 [(description) = "IP address of requestor"];
147
- optional string geoloc = 2 [(description) = "geoloc info of requestor"];
148
- optional string city = 3 [(description) = "city of requestor"];
149
- optional string state = 4 [(description) = "state of requestor"];
150
- optional string country = 5 [(description) = "country of requestor"];
151
- optional .EAuthTokenPlatformType platform_type = 6 [default = k_EAuthTokenPlatformType_Unknown, (description) = "platform type of requestor"];
152
- optional string device_friendly_name = 7 [(description) = "name of requestor device"];
153
- optional int32 version = 8 [(description) = "version field"];
154
- optional .EAuthSessionSecurityHistory login_history = 9 [default = k_EAuthSessionSecurityHistory_Invalid, (description) = "whether the ip has previuously been used on the account successfully"];
155
- optional bool requestor_location_mismatch = 10 [(description) = "whether the requestor location matches this requests location"];
156
- optional bool high_usage_login = 11 [(description) = "whether this login has seen high usage recently"];
157
- optional .ESessionPersistence requested_persistence = 12 [default = k_ESessionPersistence_Invalid, (description) = "session persistence requestor has indicated they want"];
158
- }
159
-
160
- message CAuthentication_UpdateAuthSessionWithMobileConfirmation_Request {
161
- optional int32 version = 1 [(description) = "version field"];
162
- optional uint64 client_id = 2 [(description) = "pending client ID, from scanned QR Code"];
163
- optional fixed64 steamid = 3 [(description) = "user who wants to login"];
164
- optional bytes signature = 4 [(description) = "HMAC digest over {version,client_id,steamid} via user's private key"];
165
- optional bool confirm = 5 [default = false, (description) = "Whether to confirm the login (true) or deny the login (false)"];
166
- optional .ESessionPersistence persistence = 6 [default = k_ESessionPersistence_Persistent, (description) = "whether we are requesting a persistent or an ephemeral session"];
167
- }
168
-
169
- message CAuthentication_UpdateAuthSessionWithMobileConfirmation_Response {
170
- }
171
-
172
- message CAuthentication_UpdateAuthSessionWithSteamGuardCode_Request {
173
- optional uint64 client_id = 1 [(description) = "pending client ID, from initialized session"];
174
- optional fixed64 steamid = 2 [(description) = "user who wants to login"];
175
- optional string code = 3 [(description) = "confirmation code"];
176
- optional .EAuthSessionGuardType code_type = 4 [default = k_EAuthSessionGuardType_Unknown, (description) = "type of confirmation code"];
177
- }
178
-
179
- message CAuthentication_UpdateAuthSessionWithSteamGuardCode_Response {
180
- optional string agreement_session_url = 7 [(description) = "agreement the user needs to agree to"];
181
- }
182
-
183
- message CAuthentication_AccessToken_GenerateForApp_Request {
184
- optional string refresh_token = 1;
185
- optional fixed64 steamid = 2;
186
- optional .ETokenRenewalType renewal_type = 3 [default = k_ETokenRenewalType_None];
187
- }
188
-
189
- message CAuthentication_AccessToken_GenerateForApp_Response {
190
- optional string access_token = 1;
191
- optional string refresh_token = 2;
192
- }
193
-
194
- message CAuthentication_RefreshToken_Enumerate_Request {
195
- }
196
-
197
- message CAuthentication_RefreshToken_Enumerate_Response {
198
- message TokenUsageEvent {
199
- optional uint32 time = 1 [(description) = "Approximate time of history event (may be deliberately fuzzed or omitted)"];
200
- optional .CMsgIPAddress ip = 2 [(description) = "IP at which event was observed"];
201
- optional string locale = 3;
202
- optional string country = 4 [(description) = "Location (country code) of event, as inferred from IP"];
203
- optional string state = 5 [(description) = "Location (state code) of event, as inferred from IP"];
204
- optional string city = 6 [(description) = "Location (city) of event, as inferred from IP"];
205
- }
206
-
207
- message RefreshTokenDescription {
208
- optional fixed64 token_id = 1 [(description) = "Persistent token/device identifier"];
209
- optional string token_description = 2 [(description) = "client-supplied friendly name for the device"];
210
- optional uint32 time_updated = 3;
211
- optional .EAuthTokenPlatformType platform_type = 4 [default = k_EAuthTokenPlatformType_Unknown, (description) = "gross platform type (mobile/client/browser)"];
212
- optional bool logged_in = 5 [(description) = "If true, this token is currently valid. False indicates it is a machine token - ok for steamguard if you know the credential"];
213
- optional uint32 os_platform = 6 [(description) = "EPlatformType - rough classification of device OS, if known"];
214
- optional uint32 auth_type = 7 [(description) = "EAuthTokenGuardType - device authorization mechanism, if known"];
215
- optional uint32 gaming_device_type = 8 [(description) = "EGamingDeviceType - classify console/PC/SteamDeck, if known; applies only for Steam Client devices"];
216
- optional .CAuthentication_RefreshToken_Enumerate_Response.TokenUsageEvent first_seen = 9 [(description) = "Information about original authorization event"];
217
- optional .CAuthentication_RefreshToken_Enumerate_Response.TokenUsageEvent last_seen = 10 [(description) = "Information about most-recently seen, if known for this device"];
218
- optional int32 os_type = 11 [(description) = "EOSType - specific device OS, if known"];
219
- }
220
-
221
- repeated .CAuthentication_RefreshToken_Enumerate_Response.RefreshTokenDescription refresh_tokens = 1;
222
- optional fixed64 requesting_token = 2;
223
- }
224
-
225
- message CAuthentication_GetAuthSessionsForAccount_Request {
226
- }
227
-
228
- message CAuthentication_GetAuthSessionsForAccount_Response {
229
- repeated uint64 client_ids = 1 [(description) = "unique identifier of requestor, also used for routing"];
230
- }
231
-
232
- message CAuthentication_MigrateMobileSession_Request {
233
- optional fixed64 steamid = 1 [(description) = "Steam ID of the user to migrate"];
234
- optional string token = 2 [(description) = "WG Token to migrate"];
235
- optional string signature = 3 [(description) = "Signature over the wg token using the user's 2FA token"];
236
- }
237
-
238
- message CAuthentication_MigrateMobileSession_Response {
239
- optional string refresh_token = 1;
240
- optional string access_token = 2;
241
- }
242
-
243
- message CAuthentication_Token_Revoke_Request {
244
- optional string token = 1;
245
- optional .EAuthTokenRevokeAction revoke_action = 2 [default = k_EAuthTokenRevokePermanent, (description) = "Select between logout and logout-and-forget-machine"];
246
- }
247
-
248
- message CAuthentication_Token_Revoke_Response {
249
- }
250
-
251
- message CAuthentication_RefreshToken_Revoke_Request {
252
- optional fixed64 token_id = 1;
253
- optional fixed64 steamid = 2 [(description) = "Token holder if an admin action on behalf of another user"];
254
- optional .EAuthTokenRevokeAction revoke_action = 3 [default = k_EAuthTokenRevokePermanent, (description) = "Select between logout and logout-and-forget-machine"];
255
- optional bytes signature = 4 [(description) = "required signature over token_id"];
256
- }
257
-
258
- message CAuthentication_RefreshToken_Revoke_Response {
259
- }
260
-
261
- message CAuthenticationSupport_QueryRefreshTokensByAccount_Request {
262
- optional fixed64 steamid = 1 [(description) = "SteamID of the account to query (required)"];
263
- optional bool include_revoked_tokens = 2 [(description) = "Includes tokens that are revoked or expired in the query"];
264
- }
265
-
266
- message CSupportRefreshTokenDescription {
267
- message TokenUsageEvent {
268
- optional uint32 time = 1 [(description) = "Approximate time of history event (may be deliberately fuzzed or omitted)"];
269
- optional .CMsgIPAddress ip = 2 [(description) = "IP at which event was observed"];
270
- optional string country = 3 [(description) = "Location (country code) of event, as inferred from IP"];
271
- optional string state = 4 [(description) = "Location (state code) of event, as inferred from IP"];
272
- optional string city = 5 [(description) = "Location (city) of event, as inferred from IP"];
273
- }
274
-
275
- optional fixed64 token_id = 1;
276
- optional string token_description = 2;
277
- optional uint32 time_updated = 3;
278
- optional .EAuthTokenPlatformType platform_type = 4 [default = k_EAuthTokenPlatformType_Unknown];
279
- optional .EAuthTokenState token_state = 5 [default = k_EAuthTokenState_Invalid];
280
- optional fixed64 owner_steamid = 6;
281
- optional uint32 os_platform = 7 [(description) = "EPlatformType - rough classification of device OS, if known"];
282
- optional int32 os_type = 8 [(description) = "EOSType - specific device OS, if known"];
283
- optional uint32 auth_type = 9 [(description) = "EAuthTokenGuardType - device authorization mechanism, if known"];
284
- optional uint32 gaming_device_type = 10 [(description) = "EGamingDeviceType - classify console/PC/SteamDeck, if known; applies only for Steam Client devices"];
285
- optional .CSupportRefreshTokenDescription.TokenUsageEvent first_seen = 11 [(description) = "Information about original authorization event"];
286
- optional .CSupportRefreshTokenDescription.TokenUsageEvent last_seen = 12 [(description) = "Information about most-recently seen, if known for this device"];
287
- }
288
-
289
- message CAuthenticationSupport_QueryRefreshTokensByAccount_Response {
290
- repeated .CSupportRefreshTokenDescription refresh_tokens = 1;
291
- optional int32 last_token_reset = 2;
292
- }
293
-
294
- message CAuthenticationSupport_QueryRefreshTokenByID_Request {
295
- optional fixed64 token_id = 1 [(description) = "Token ID of the token to look up (required)"];
296
- }
297
-
298
- message CAuthenticationSupport_QueryRefreshTokenByID_Response {
299
- repeated .CSupportRefreshTokenDescription refresh_tokens = 1;
300
- }
301
-
302
- message CAuthenticationSupport_RevokeToken_Request {
303
- optional fixed64 token_id = 1 [(description) = "Token ID of the token to revoke (required)"];
304
- optional fixed64 steamid = 2 [(description) = "Steam ID of the owner of that token (required)"];
305
- }
306
-
307
- message CAuthenticationSupport_RevokeToken_Response {
308
- }
309
-
310
- message CAuthenticationSupport_GetTokenHistory_Request {
311
- optional fixed64 token_id = 1 [(description) = "Token ID of the token to get history for (required)"];
312
- }
313
-
314
- message CSupportRefreshTokenAudit {
315
- optional int32 action = 1;
316
- optional uint32 time = 2;
317
- optional .CMsgIPAddress ip = 3;
318
- optional fixed64 actor = 4;
319
- }
320
-
321
- message CAuthenticationSupport_GetTokenHistory_Response {
322
- repeated .CSupportRefreshTokenAudit history = 1;
323
- }
324
-
325
- message CCloudGaming_CreateNonce_Request {
326
- optional string platform = 1;
327
- optional uint32 appid = 2;
328
- }
329
-
330
- message CCloudGaming_CreateNonce_Response {
331
- optional string nonce = 1;
332
- optional uint32 expiry = 2;
333
- }
334
-
335
- message CCloudGaming_GetTimeRemaining_Request {
336
- optional string platform = 1;
337
- repeated uint32 appid_list = 2;
338
- }
339
-
340
- message CCloudGaming_TimeRemaining {
341
- optional uint32 appid = 1;
342
- optional uint32 minutes_remaining = 2;
343
- }
344
-
345
- message CCloudGaming_GetTimeRemaining_Response {
346
- repeated .CCloudGaming_TimeRemaining entries = 2;
347
- }
348
-
349
- service Authentication {
350
- option (service_description) = "Authentication Service";
351
-
352
- rpc GetPasswordRSAPublicKey (.CAuthentication_GetPasswordRSAPublicKey_Request) returns (.CAuthentication_GetPasswordRSAPublicKey_Response) {
353
- option (method_description) = "Fetches RSA public key to use to encrypt passwords for a given account name";
354
- }
355
-
356
- rpc BeginAuthSessionViaQR (.CAuthentication_BeginAuthSessionViaQR_Request) returns (.CAuthentication_BeginAuthSessionViaQR_Response) {
357
- option (method_description) = "start authentication process";
358
- }
359
-
360
- rpc BeginAuthSessionViaCredentials (.CAuthentication_BeginAuthSessionViaCredentials_Request) returns (.CAuthentication_BeginAuthSessionViaCredentials_Response) {
361
- option (method_description) = "start authentication process";
362
- }
363
-
364
- rpc PollAuthSessionStatus (.CAuthentication_PollAuthSessionStatus_Request) returns (.CAuthentication_PollAuthSessionStatus_Response) {
365
- option (method_description) = "poll during authentication process";
366
- }
367
-
368
- rpc GetAuthSessionInfo (.CAuthentication_GetAuthSessionInfo_Request) returns (.CAuthentication_GetAuthSessionInfo_Response) {
369
- option (method_description) = "get metadata of specific auth session, this will also implicitly bind the calling account";
370
- }
371
-
372
- rpc UpdateAuthSessionWithMobileConfirmation (.CAuthentication_UpdateAuthSessionWithMobileConfirmation_Request) returns (.CAuthentication_UpdateAuthSessionWithMobileConfirmation_Response) {
373
- option (method_description) = "approve an authentication session via mobile 2fa";
374
- }
375
-
376
- rpc UpdateAuthSessionWithSteamGuardCode (.CAuthentication_UpdateAuthSessionWithSteamGuardCode_Request) returns (.CAuthentication_UpdateAuthSessionWithSteamGuardCode_Response) {
377
- option (method_description) = "approve an authentication session via steam guard code";
378
- }
379
-
380
- rpc GenerateAccessTokenForApp (.CAuthentication_AccessToken_GenerateForApp_Request) returns (.CAuthentication_AccessToken_GenerateForApp_Response) {
381
- option (method_description) = "Given a refresh token for a client app audience (e.g. desktop client / mobile client), generate an access token";
382
- }
383
-
384
- rpc EnumerateTokens (.CAuthentication_RefreshToken_Enumerate_Request) returns (.CAuthentication_RefreshToken_Enumerate_Response) {
385
- option (method_description) = "Enumerate durable (refresh) tokens for the given subject account";
386
- }
387
-
388
- rpc GetAuthSessionsForAccount (.CAuthentication_GetAuthSessionsForAccount_Request) returns (.CAuthentication_GetAuthSessionsForAccount_Response) {
389
- option (method_description) = "Gets all active auth sessions for an account for reference by the mobile app";
390
- }
391
-
392
- rpc MigrateMobileSession (.CAuthentication_MigrateMobileSession_Request) returns (.CAuthentication_MigrateMobileSession_Response) {
393
- option (method_description) = "Migrates a WG token to an access and refresh token using a signature generated with the user's 2FA secret";
394
- }
395
-
396
- rpc RevokeToken (.CAuthentication_Token_Revoke_Request) returns (.CAuthentication_Token_Revoke_Response) {
397
- option (method_description) = "Revoke a single token immediately, making it unable to renew or generate new access tokens";
398
- }
399
-
400
- rpc RevokeRefreshToken (.CAuthentication_RefreshToken_Revoke_Request) returns (.CAuthentication_RefreshToken_Revoke_Response) {
401
- option (method_description) = "Mark the given refresh token as revoked";
402
- }
403
- }
404
-
405
- service AuthenticationSupport {
406
- option (service_description) = "Authentication Support Service";
407
-
408
- rpc QueryRefreshTokensByAccount (.CAuthenticationSupport_QueryRefreshTokensByAccount_Request) returns (.CAuthenticationSupport_QueryRefreshTokensByAccount_Response) {
409
- option (method_description) = "Asks the server for a list of refresh tokens associated with an account";
410
- }
411
-
412
- rpc QueryRefreshTokenByID (.CAuthenticationSupport_QueryRefreshTokenByID_Request) returns (.CAuthenticationSupport_QueryRefreshTokenByID_Response) {
413
- option (method_description) = "Asks the server for a list of refresh tokens associated with an account";
414
- }
415
-
416
- rpc RevokeToken (.CAuthenticationSupport_RevokeToken_Request) returns (.CAuthenticationSupport_RevokeToken_Response) {
417
- option (method_description) = "Revokes a user's auth token";
418
- }
419
-
420
- rpc GetTokenHistory (.CAuthenticationSupport_GetTokenHistory_Request) returns (.CAuthenticationSupport_GetTokenHistory_Response) {
421
- option (method_description) = "Gets the audit history for a user's auth token";
422
- }
423
- }
424
-
425
- service CloudGaming {
426
- option (service_description) = "Methods for Steam cloud gaming operations";
427
-
428
- rpc CreateNonce (.CCloudGaming_CreateNonce_Request) returns (.CCloudGaming_CreateNonce_Response) {
429
- option (method_description) = "Create a nonce for a cloud gaming service session";
430
- }
431
-
432
- rpc GetTimeRemaining (.CCloudGaming_GetTimeRemaining_Request) returns (.CCloudGaming_GetTimeRemaining_Response) {
433
- option (method_description) = "Get the amount of streaming time remaining for a set of apps";
434
- }
435
- }
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+ import "enums.proto";
4
+
5
+ option cc_generic_services = true;
6
+
7
+ enum EAuthTokenPlatformType {
8
+ k_EAuthTokenPlatformType_Unknown = 0;
9
+ k_EAuthTokenPlatformType_SteamClient = 1;
10
+ k_EAuthTokenPlatformType_WebBrowser = 2;
11
+ k_EAuthTokenPlatformType_MobileApp = 3;
12
+ }
13
+
14
+ enum EAuthSessionGuardType {
15
+ k_EAuthSessionGuardType_Unknown = 0;
16
+ k_EAuthSessionGuardType_None = 1;
17
+ k_EAuthSessionGuardType_EmailCode = 2;
18
+ k_EAuthSessionGuardType_DeviceCode = 3;
19
+ k_EAuthSessionGuardType_DeviceConfirmation = 4;
20
+ k_EAuthSessionGuardType_EmailConfirmation = 5;
21
+ k_EAuthSessionGuardType_MachineToken = 6;
22
+ k_EAuthSessionGuardType_LegacyMachineAuth = 7;
23
+ }
24
+
25
+ enum EAuthSessionSecurityHistory {
26
+ k_EAuthSessionSecurityHistory_Invalid = 0;
27
+ k_EAuthSessionSecurityHistory_UsedPreviously = 1;
28
+ k_EAuthSessionSecurityHistory_NoPriorHistory = 2;
29
+ }
30
+
31
+ enum ETokenRenewalType {
32
+ k_ETokenRenewalType_None = 0;
33
+ k_ETokenRenewalType_Allow = 1;
34
+ }
35
+
36
+ enum EAuthTokenRevokeAction {
37
+ k_EAuthTokenRevokeLogout = 0;
38
+ k_EAuthTokenRevokePermanent = 1;
39
+ k_EAuthTokenRevokeReplaced = 2;
40
+ k_EAuthTokenRevokeSupport = 3;
41
+ k_EAuthTokenRevokeConsume = 4;
42
+ k_EAuthTokenRevokeNonRememberedLogout = 5;
43
+ k_EAuthTokenRevokeNonRememberedPermanent = 6;
44
+ k_EAuthTokenRevokeAutomatic = 7;
45
+ }
46
+
47
+ enum EAuthTokenState {
48
+ k_EAuthTokenState_Invalid = 0;
49
+ k_EAuthTokenState_New = 1;
50
+ k_EAuthTokenState_Confirmed = 2;
51
+ k_EAuthTokenState_Issued = 3;
52
+ k_EAuthTokenState_Denied = 4;
53
+ k_EAuthTokenState_LoggedOut = 5;
54
+ k_EAuthTokenState_Consumed = 6;
55
+ k_EAuthTokenState_Revoked = 99;
56
+ }
57
+
58
+ message CAuthentication_GetPasswordRSAPublicKey_Request {
59
+ optional string account_name = 1 [(description) = "user-provided account name to get an RSA key for"];
60
+ }
61
+
62
+ message CAuthentication_GetPasswordRSAPublicKey_Response {
63
+ optional string publickey_mod = 1 [(description) = "the public key modulus"];
64
+ optional string publickey_exp = 2 [(description) = "the public key exponent"];
65
+ optional uint64 timestamp = 3 [(description) = "the timestamp the key was generated"];
66
+ }
67
+
68
+ message CAuthentication_DeviceDetails {
69
+ optional string device_friendly_name = 1 [(description) = "User-supplied, or client-supplied, friendly name of device"];
70
+ optional .EAuthTokenPlatformType platform_type = 2 [default = k_EAuthTokenPlatformType_Unknown, (description) = "EAuthTokenPlatformType, claimed, of device"];
71
+ optional int32 os_type = 3 [(description) = "EOSType, claimed, of authorized device"];
72
+ optional uint32 gaming_device_type = 4 [(description) = "EGamingDeviceType, claimed, of authorized device for steam client-type devices"];
73
+ optional uint32 client_count = 5 [(description) = "For desktop clients, quantized number of users in history"];
74
+ optional bytes machine_id = 6 [(description) = "Additional device context"];
75
+ }
76
+
77
+ message CAuthentication_BeginAuthSessionViaQR_Request {
78
+ optional string device_friendly_name = 1;
79
+ optional .EAuthTokenPlatformType platform_type = 2 [default = k_EAuthTokenPlatformType_Unknown];
80
+ optional .CAuthentication_DeviceDetails device_details = 3 [(description) = "User-supplied details about the device attempting to sign in"];
81
+ optional string website_id = 4 [default = "Unknown", (description) = "(EMachineAuthWebDomain) identifier of client requesting auth"];
82
+ }
83
+
84
+ message CAuthentication_AllowedConfirmation {
85
+ optional .EAuthSessionGuardType confirmation_type = 1 [default = k_EAuthSessionGuardType_Unknown, (description) = "authentication can proceed with this confirmation type"];
86
+ optional string associated_message = 2 [(description) = "message to be interpreted depending on the confirmation type. for email confirmation, this might be the redacted email address to which email was sent."];
87
+ }
88
+
89
+ message CAuthentication_BeginAuthSessionViaQR_Response {
90
+ optional uint64 client_id = 1 [(description) = "unique identifier of requestor, also used for routing, portion of QR code"];
91
+ optional string challenge_url = 2 [(description) = "URL based on client ID, which will be rendered as QR code"];
92
+ optional bytes request_id = 3 [(description) = "unique request ID to be presented by requestor at poll time - must not be rendered in QR"];
93
+ optional float interval = 4 [(description) = "refresh interval with which requestor should call PollAuthSessionStatus"];
94
+ repeated .CAuthentication_AllowedConfirmation allowed_confirmations = 5 [(description) = "the confirmation types that will be able to confirm the request"];
95
+ optional int32 version = 6 [(description) = "version of the QR data"];
96
+ }
97
+
98
+ message CAuthentication_BeginAuthSessionViaCredentials_Request {
99
+ optional string device_friendly_name = 1;
100
+ optional string account_name = 2;
101
+ optional string encrypted_password = 3 [(description) = "password, RSA encrypted client side"];
102
+ optional uint64 encryption_timestamp = 4 [(description) = "timestamp to map to a key - STime"];
103
+ optional bool remember_login = 5 [(description) = "deprecated"];
104
+ optional .EAuthTokenPlatformType platform_type = 6 [default = k_EAuthTokenPlatformType_Unknown];
105
+ optional .ESessionPersistence persistence = 7 [default = k_ESessionPersistence_Persistent, (description) = "whether we are requesting a persistent or an ephemeral session"];
106
+ optional string website_id = 8 [default = "Unknown", (description) = "(EMachineAuthWebDomain) identifier of client requesting auth"];
107
+ optional .CAuthentication_DeviceDetails device_details = 9 [(description) = "User-supplied details about the device attempting to sign in"];
108
+ optional string guard_data = 10 [(description) = "steam guard data for client login"];
109
+ optional uint32 language = 11;
110
+ optional int32 qos_level = 12 [default = 2, (description) = "[ENetQOSLevel] client-specified priority for this auth attempt"];
111
+ }
112
+
113
+ message CAuthentication_BeginAuthSessionViaCredentials_Response {
114
+ optional uint64 client_id = 1 [(description) = "unique identifier of requestor, also used for routing"];
115
+ optional bytes request_id = 2 [(description) = "unique request ID to be presented by requestor at poll time - must not be transferred or displayed"];
116
+ optional float interval = 3 [(description) = "refresh interval with which requestor should call PollAuthSessionStatus"];
117
+ repeated .CAuthentication_AllowedConfirmation allowed_confirmations = 4 [(description) = "the confirmation types that will be able to confirm the request"];
118
+ optional uint64 steamid = 5 [(description) = "steamid of the account logging in - will only be included if the credentials were correct"];
119
+ optional string weak_token = 6 [(description) = "partial-authentication token - limited lifetime and scope, included only if credentials were valid"];
120
+ optional string agreement_session_url = 7 [(description) = "agreement the user needs to agree to"];
121
+ optional string extended_error_message = 8 [(description) = "error string to display if supported by the client"];
122
+ }
123
+
124
+ message CAuthentication_PollAuthSessionStatus_Request {
125
+ optional uint64 client_id = 1;
126
+ optional bytes request_id = 2;
127
+ optional fixed64 token_to_revoke = 3 [(description) = "If this is set to a token owned by this user, that token will be retired"];
128
+ }
129
+
130
+ message CAuthentication_PollAuthSessionStatus_Response {
131
+ optional uint64 new_client_id = 1 [(description) = "if challenge is old, this is the new client id"];
132
+ optional string new_challenge_url = 2 [(description) = "if challenge is old, this is the new challenge ID to re-render for mobile confirmation"];
133
+ optional string refresh_token = 3 [(description) = "if login has been confirmed, this is the requestor's new refresh token"];
134
+ optional string access_token = 4 [(description) = "if login has been confirmed, this is a new token subordinate to refresh_token"];
135
+ optional bool had_remote_interaction = 5 [(description) = "whether or not the auth session appears to have had remote interaction from a potential confirmer"];
136
+ optional string account_name = 6 [(description) = "account name of authenticating account, for use by UI layer"];
137
+ optional string new_guard_data = 7 [(description) = "if login has been confirmed, may contain remembered machine ID for future login"];
138
+ optional string agreement_session_url = 8 [(description) = "agreement the user needs to agree to"];
139
+ }
140
+
141
+ message CAuthentication_GetAuthSessionInfo_Request {
142
+ optional uint64 client_id = 1 [(description) = "client ID from scanned QR Code, used for routing"];
143
+ }
144
+
145
+ message CAuthentication_GetAuthSessionInfo_Response {
146
+ optional string ip = 1 [(description) = "IP address of requestor"];
147
+ optional string geoloc = 2 [(description) = "geoloc info of requestor"];
148
+ optional string city = 3 [(description) = "city of requestor"];
149
+ optional string state = 4 [(description) = "state of requestor"];
150
+ optional string country = 5 [(description) = "country of requestor"];
151
+ optional .EAuthTokenPlatformType platform_type = 6 [default = k_EAuthTokenPlatformType_Unknown, (description) = "platform type of requestor"];
152
+ optional string device_friendly_name = 7 [(description) = "name of requestor device"];
153
+ optional int32 version = 8 [(description) = "version field"];
154
+ optional .EAuthSessionSecurityHistory login_history = 9 [default = k_EAuthSessionSecurityHistory_Invalid, (description) = "whether the ip has previuously been used on the account successfully"];
155
+ optional bool requestor_location_mismatch = 10 [(description) = "whether the requestor location matches this requests location"];
156
+ optional bool high_usage_login = 11 [(description) = "whether this login has seen high usage recently"];
157
+ optional .ESessionPersistence requested_persistence = 12 [default = k_ESessionPersistence_Invalid, (description) = "session persistence requestor has indicated they want"];
158
+ }
159
+
160
+ message CAuthentication_UpdateAuthSessionWithMobileConfirmation_Request {
161
+ optional int32 version = 1 [(description) = "version field"];
162
+ optional uint64 client_id = 2 [(description) = "pending client ID, from scanned QR Code"];
163
+ optional fixed64 steamid = 3 [(description) = "user who wants to login"];
164
+ optional bytes signature = 4 [(description) = "HMAC digest over {version,client_id,steamid} via user's private key"];
165
+ optional bool confirm = 5 [default = false, (description) = "Whether to confirm the login (true) or deny the login (false)"];
166
+ optional .ESessionPersistence persistence = 6 [default = k_ESessionPersistence_Persistent, (description) = "whether we are requesting a persistent or an ephemeral session"];
167
+ }
168
+
169
+ message CAuthentication_UpdateAuthSessionWithMobileConfirmation_Response {
170
+ }
171
+
172
+ message CAuthentication_UpdateAuthSessionWithSteamGuardCode_Request {
173
+ optional uint64 client_id = 1 [(description) = "pending client ID, from initialized session"];
174
+ optional fixed64 steamid = 2 [(description) = "user who wants to login"];
175
+ optional string code = 3 [(description) = "confirmation code"];
176
+ optional .EAuthSessionGuardType code_type = 4 [default = k_EAuthSessionGuardType_Unknown, (description) = "type of confirmation code"];
177
+ }
178
+
179
+ message CAuthentication_UpdateAuthSessionWithSteamGuardCode_Response {
180
+ optional string agreement_session_url = 7 [(description) = "agreement the user needs to agree to"];
181
+ }
182
+
183
+ message CAuthentication_AccessToken_GenerateForApp_Request {
184
+ optional string refresh_token = 1;
185
+ optional fixed64 steamid = 2;
186
+ optional .ETokenRenewalType renewal_type = 3 [default = k_ETokenRenewalType_None];
187
+ }
188
+
189
+ message CAuthentication_AccessToken_GenerateForApp_Response {
190
+ optional string access_token = 1;
191
+ optional string refresh_token = 2;
192
+ }
193
+
194
+ message CAuthentication_RefreshToken_Enumerate_Request {
195
+ }
196
+
197
+ message CAuthentication_RefreshToken_Enumerate_Response {
198
+ message TokenUsageEvent {
199
+ optional uint32 time = 1 [(description) = "Approximate time of history event (may be deliberately fuzzed or omitted)"];
200
+ optional .CMsgIPAddress ip = 2 [(description) = "IP at which event was observed"];
201
+ optional string locale = 3;
202
+ optional string country = 4 [(description) = "Location (country code) of event, as inferred from IP"];
203
+ optional string state = 5 [(description) = "Location (state code) of event, as inferred from IP"];
204
+ optional string city = 6 [(description) = "Location (city) of event, as inferred from IP"];
205
+ }
206
+
207
+ message RefreshTokenDescription {
208
+ optional fixed64 token_id = 1 [(description) = "Persistent token/device identifier"];
209
+ optional string token_description = 2 [(description) = "client-supplied friendly name for the device"];
210
+ optional uint32 time_updated = 3;
211
+ optional .EAuthTokenPlatformType platform_type = 4 [default = k_EAuthTokenPlatformType_Unknown, (description) = "gross platform type (mobile/client/browser)"];
212
+ optional bool logged_in = 5 [(description) = "If true, this token is currently valid. False indicates it is a machine token - ok for steamguard if you know the credential"];
213
+ optional uint32 os_platform = 6 [(description) = "EPlatformType - rough classification of device OS, if known"];
214
+ optional uint32 auth_type = 7 [(description) = "EAuthTokenGuardType - device authorization mechanism, if known"];
215
+ optional uint32 gaming_device_type = 8 [(description) = "EGamingDeviceType - classify console/PC/SteamDeck, if known; applies only for Steam Client devices"];
216
+ optional .CAuthentication_RefreshToken_Enumerate_Response.TokenUsageEvent first_seen = 9 [(description) = "Information about original authorization event"];
217
+ optional .CAuthentication_RefreshToken_Enumerate_Response.TokenUsageEvent last_seen = 10 [(description) = "Information about most-recently seen, if known for this device"];
218
+ optional int32 os_type = 11 [(description) = "EOSType - specific device OS, if known"];
219
+ }
220
+
221
+ repeated .CAuthentication_RefreshToken_Enumerate_Response.RefreshTokenDescription refresh_tokens = 1;
222
+ optional fixed64 requesting_token = 2;
223
+ }
224
+
225
+ message CAuthentication_GetAuthSessionsForAccount_Request {
226
+ }
227
+
228
+ message CAuthentication_GetAuthSessionsForAccount_Response {
229
+ repeated uint64 client_ids = 1 [(description) = "unique identifier of requestor, also used for routing"];
230
+ }
231
+
232
+ message CAuthentication_MigrateMobileSession_Request {
233
+ optional fixed64 steamid = 1 [(description) = "Steam ID of the user to migrate"];
234
+ optional string token = 2 [(description) = "WG Token to migrate"];
235
+ optional string signature = 3 [(description) = "Signature over the wg token using the user's 2FA token"];
236
+ }
237
+
238
+ message CAuthentication_MigrateMobileSession_Response {
239
+ optional string refresh_token = 1;
240
+ optional string access_token = 2;
241
+ }
242
+
243
+ message CAuthentication_Token_Revoke_Request {
244
+ optional string token = 1;
245
+ optional .EAuthTokenRevokeAction revoke_action = 2 [default = k_EAuthTokenRevokePermanent, (description) = "Select between logout and logout-and-forget-machine"];
246
+ }
247
+
248
+ message CAuthentication_Token_Revoke_Response {
249
+ }
250
+
251
+ message CAuthentication_RefreshToken_Revoke_Request {
252
+ optional fixed64 token_id = 1;
253
+ optional fixed64 steamid = 2 [(description) = "Token holder if an admin action on behalf of another user"];
254
+ optional .EAuthTokenRevokeAction revoke_action = 3 [default = k_EAuthTokenRevokePermanent, (description) = "Select between logout and logout-and-forget-machine"];
255
+ optional bytes signature = 4 [(description) = "required signature over token_id"];
256
+ }
257
+
258
+ message CAuthentication_RefreshToken_Revoke_Response {
259
+ }
260
+
261
+ message CAuthenticationSupport_QueryRefreshTokensByAccount_Request {
262
+ optional fixed64 steamid = 1 [(description) = "SteamID of the account to query (required)"];
263
+ optional bool include_revoked_tokens = 2 [(description) = "Includes tokens that are revoked or expired in the query"];
264
+ }
265
+
266
+ message CSupportRefreshTokenDescription {
267
+ message TokenUsageEvent {
268
+ optional uint32 time = 1 [(description) = "Approximate time of history event (may be deliberately fuzzed or omitted)"];
269
+ optional .CMsgIPAddress ip = 2 [(description) = "IP at which event was observed"];
270
+ optional string country = 3 [(description) = "Location (country code) of event, as inferred from IP"];
271
+ optional string state = 4 [(description) = "Location (state code) of event, as inferred from IP"];
272
+ optional string city = 5 [(description) = "Location (city) of event, as inferred from IP"];
273
+ }
274
+
275
+ optional fixed64 token_id = 1;
276
+ optional string token_description = 2;
277
+ optional uint32 time_updated = 3;
278
+ optional .EAuthTokenPlatformType platform_type = 4 [default = k_EAuthTokenPlatformType_Unknown];
279
+ optional .EAuthTokenState token_state = 5 [default = k_EAuthTokenState_Invalid];
280
+ optional fixed64 owner_steamid = 6;
281
+ optional uint32 os_platform = 7 [(description) = "EPlatformType - rough classification of device OS, if known"];
282
+ optional int32 os_type = 8 [(description) = "EOSType - specific device OS, if known"];
283
+ optional uint32 auth_type = 9 [(description) = "EAuthTokenGuardType - device authorization mechanism, if known"];
284
+ optional uint32 gaming_device_type = 10 [(description) = "EGamingDeviceType - classify console/PC/SteamDeck, if known; applies only for Steam Client devices"];
285
+ optional .CSupportRefreshTokenDescription.TokenUsageEvent first_seen = 11 [(description) = "Information about original authorization event"];
286
+ optional .CSupportRefreshTokenDescription.TokenUsageEvent last_seen = 12 [(description) = "Information about most-recently seen, if known for this device"];
287
+ }
288
+
289
+ message CAuthenticationSupport_QueryRefreshTokensByAccount_Response {
290
+ repeated .CSupportRefreshTokenDescription refresh_tokens = 1;
291
+ optional int32 last_token_reset = 2;
292
+ }
293
+
294
+ message CAuthenticationSupport_QueryRefreshTokenByID_Request {
295
+ optional fixed64 token_id = 1 [(description) = "Token ID of the token to look up (required)"];
296
+ }
297
+
298
+ message CAuthenticationSupport_QueryRefreshTokenByID_Response {
299
+ repeated .CSupportRefreshTokenDescription refresh_tokens = 1;
300
+ }
301
+
302
+ message CAuthenticationSupport_RevokeToken_Request {
303
+ optional fixed64 token_id = 1 [(description) = "Token ID of the token to revoke (required)"];
304
+ optional fixed64 steamid = 2 [(description) = "Steam ID of the owner of that token (required)"];
305
+ }
306
+
307
+ message CAuthenticationSupport_RevokeToken_Response {
308
+ }
309
+
310
+ message CAuthenticationSupport_GetTokenHistory_Request {
311
+ optional fixed64 token_id = 1 [(description) = "Token ID of the token to get history for (required)"];
312
+ }
313
+
314
+ message CSupportRefreshTokenAudit {
315
+ optional int32 action = 1;
316
+ optional uint32 time = 2;
317
+ optional .CMsgIPAddress ip = 3;
318
+ optional fixed64 actor = 4;
319
+ }
320
+
321
+ message CAuthenticationSupport_GetTokenHistory_Response {
322
+ repeated .CSupportRefreshTokenAudit history = 1;
323
+ }
324
+
325
+ message CCloudGaming_CreateNonce_Request {
326
+ optional string platform = 1;
327
+ optional uint32 appid = 2;
328
+ }
329
+
330
+ message CCloudGaming_CreateNonce_Response {
331
+ optional string nonce = 1;
332
+ optional uint32 expiry = 2;
333
+ }
334
+
335
+ message CCloudGaming_GetTimeRemaining_Request {
336
+ optional string platform = 1;
337
+ repeated uint32 appid_list = 2;
338
+ }
339
+
340
+ message CCloudGaming_TimeRemaining {
341
+ optional uint32 appid = 1;
342
+ optional uint32 minutes_remaining = 2;
343
+ }
344
+
345
+ message CCloudGaming_GetTimeRemaining_Response {
346
+ repeated .CCloudGaming_TimeRemaining entries = 2;
347
+ }
348
+
349
+ service Authentication {
350
+ option (service_description) = "Authentication Service";
351
+
352
+ rpc GetPasswordRSAPublicKey (.CAuthentication_GetPasswordRSAPublicKey_Request) returns (.CAuthentication_GetPasswordRSAPublicKey_Response) {
353
+ option (method_description) = "Fetches RSA public key to use to encrypt passwords for a given account name";
354
+ }
355
+
356
+ rpc BeginAuthSessionViaQR (.CAuthentication_BeginAuthSessionViaQR_Request) returns (.CAuthentication_BeginAuthSessionViaQR_Response) {
357
+ option (method_description) = "start authentication process";
358
+ }
359
+
360
+ rpc BeginAuthSessionViaCredentials (.CAuthentication_BeginAuthSessionViaCredentials_Request) returns (.CAuthentication_BeginAuthSessionViaCredentials_Response) {
361
+ option (method_description) = "start authentication process";
362
+ }
363
+
364
+ rpc PollAuthSessionStatus (.CAuthentication_PollAuthSessionStatus_Request) returns (.CAuthentication_PollAuthSessionStatus_Response) {
365
+ option (method_description) = "poll during authentication process";
366
+ }
367
+
368
+ rpc GetAuthSessionInfo (.CAuthentication_GetAuthSessionInfo_Request) returns (.CAuthentication_GetAuthSessionInfo_Response) {
369
+ option (method_description) = "get metadata of specific auth session, this will also implicitly bind the calling account";
370
+ }
371
+
372
+ rpc UpdateAuthSessionWithMobileConfirmation (.CAuthentication_UpdateAuthSessionWithMobileConfirmation_Request) returns (.CAuthentication_UpdateAuthSessionWithMobileConfirmation_Response) {
373
+ option (method_description) = "approve an authentication session via mobile 2fa";
374
+ }
375
+
376
+ rpc UpdateAuthSessionWithSteamGuardCode (.CAuthentication_UpdateAuthSessionWithSteamGuardCode_Request) returns (.CAuthentication_UpdateAuthSessionWithSteamGuardCode_Response) {
377
+ option (method_description) = "approve an authentication session via steam guard code";
378
+ }
379
+
380
+ rpc GenerateAccessTokenForApp (.CAuthentication_AccessToken_GenerateForApp_Request) returns (.CAuthentication_AccessToken_GenerateForApp_Response) {
381
+ option (method_description) = "Given a refresh token for a client app audience (e.g. desktop client / mobile client), generate an access token";
382
+ }
383
+
384
+ rpc EnumerateTokens (.CAuthentication_RefreshToken_Enumerate_Request) returns (.CAuthentication_RefreshToken_Enumerate_Response) {
385
+ option (method_description) = "Enumerate durable (refresh) tokens for the given subject account";
386
+ }
387
+
388
+ rpc GetAuthSessionsForAccount (.CAuthentication_GetAuthSessionsForAccount_Request) returns (.CAuthentication_GetAuthSessionsForAccount_Response) {
389
+ option (method_description) = "Gets all active auth sessions for an account for reference by the mobile app";
390
+ }
391
+
392
+ rpc MigrateMobileSession (.CAuthentication_MigrateMobileSession_Request) returns (.CAuthentication_MigrateMobileSession_Response) {
393
+ option (method_description) = "Migrates a WG token to an access and refresh token using a signature generated with the user's 2FA secret";
394
+ }
395
+
396
+ rpc RevokeToken (.CAuthentication_Token_Revoke_Request) returns (.CAuthentication_Token_Revoke_Response) {
397
+ option (method_description) = "Revoke a single token immediately, making it unable to renew or generate new access tokens";
398
+ }
399
+
400
+ rpc RevokeRefreshToken (.CAuthentication_RefreshToken_Revoke_Request) returns (.CAuthentication_RefreshToken_Revoke_Response) {
401
+ option (method_description) = "Mark the given refresh token as revoked";
402
+ }
403
+ }
404
+
405
+ service AuthenticationSupport {
406
+ option (service_description) = "Authentication Support Service";
407
+
408
+ rpc QueryRefreshTokensByAccount (.CAuthenticationSupport_QueryRefreshTokensByAccount_Request) returns (.CAuthenticationSupport_QueryRefreshTokensByAccount_Response) {
409
+ option (method_description) = "Asks the server for a list of refresh tokens associated with an account";
410
+ }
411
+
412
+ rpc QueryRefreshTokenByID (.CAuthenticationSupport_QueryRefreshTokenByID_Request) returns (.CAuthenticationSupport_QueryRefreshTokenByID_Response) {
413
+ option (method_description) = "Asks the server for a list of refresh tokens associated with an account";
414
+ }
415
+
416
+ rpc RevokeToken (.CAuthenticationSupport_RevokeToken_Request) returns (.CAuthenticationSupport_RevokeToken_Response) {
417
+ option (method_description) = "Revokes a user's auth token";
418
+ }
419
+
420
+ rpc GetTokenHistory (.CAuthenticationSupport_GetTokenHistory_Request) returns (.CAuthenticationSupport_GetTokenHistory_Response) {
421
+ option (method_description) = "Gets the audit history for a user's auth token";
422
+ }
423
+ }
424
+
425
+ service CloudGaming {
426
+ option (service_description) = "Methods for Steam cloud gaming operations";
427
+
428
+ rpc CreateNonce (.CCloudGaming_CreateNonce_Request) returns (.CCloudGaming_CreateNonce_Response) {
429
+ option (method_description) = "Create a nonce for a cloud gaming service session";
430
+ }
431
+
432
+ rpc GetTimeRemaining (.CCloudGaming_GetTimeRemaining_Request) returns (.CCloudGaming_GetTimeRemaining_Response) {
433
+ option (method_description) = "Get the amount of streaming time remaining for a set of apps";
434
+ }
435
+ }