Skip to main content

steam_auth/
lib.rs

1//! Steam authentication and session management.
2//!
3//! This crate provides login session management, Steam Guard handling, and
4//! token management.
5
6mod auth_client;
7mod cookies;
8mod crypto;
9mod error;
10pub mod helpers;
11mod http_client;
12mod login_approver;
13mod login_session;
14mod transport;
15mod types;
16mod validation;
17
18pub use auth_client::{AuthenticationClient, EncryptedPassword, PollLoginStatusResponse, RsaKeyResponse};
19pub use cookies::{add_session_id_cookies, build_cookie_with_domain, build_simple_cookies, build_transfer_form_params, check_finalize_error, execute_single_transfer, execute_transfers_with_retry, extract_cookie_domains, extract_domain_from_url, extract_steam_login_cookies, filter_session_id_cookies, parse_cookies_from_header, parse_transfer_info, TransferInfo, TransferResult};
20pub use crypto::rsa_encrypt_password;
21pub use error::SessionError;
22pub use helpers::{decode_jwt, is_refresh_token};
23pub use http_client::{HttpClient, HttpResponse, MultipartForm};
24pub use login_approver::{ApproverOptions, LoginApprover, LoginApproverBuilder};
25pub use login_session::{LoginSession, LoginSessionBuilder};
26// Re-export commonly used enums from steam-protos
27pub use steam_protos::{CAuthenticationGetAuthSessionInfoResponse, EAuthSessionGuardType, EAuthSessionSecurityHistory, EAuthTokenPlatformType, ESessionPersistence};
28pub use transport::{ApiRequest, ApiResponse, Transport, WebApiTransport, WebSocketCMTransport};
29pub use types::{AllowedConfirmation, ApproveAuthSessionRequest, CredentialsDetails, LoginSessionOptions, PollResult, StartAuthSessionResponse, StartSessionResponse, ValidAction};
30pub use validation::{determine_required_code_type, determine_valid_actions, generate_session_id, process_confirmations, validate_access_token, validate_refresh_token, ProcessConfirmationsResult, ValidatedRefreshToken};