summaryrefslogtreecommitdiffstats
path: root/src/auth
diff options
context:
space:
mode:
authorLibravatar bigfoot547 <[email protected]>2025-01-30 12:09:37 -0600
committerLibravatar bigfoot547 <[email protected]>2025-01-30 12:09:37 -0600
commitead933d2207825d4dd292e980aacefe6cb8bf504 (patch)
tree518aab683cf1adf54f060da1844ead2e8d4654b6 /src/auth
parentwip: use an actual oauth library (diff)
non-working: auth
Diffstat (limited to 'src/auth')
-rw-r--r--src/auth/msa.rs33
-rw-r--r--src/auth/types.rs2
2 files changed, 34 insertions, 1 deletions
diff --git a/src/auth/msa.rs b/src/auth/msa.rs
index e69de29..da9a376 100644
--- a/src/auth/msa.rs
+++ b/src/auth/msa.rs
@@ -0,0 +1,33 @@
+use chrono::{DateTime, Utc};
+use oauth2::AccessToken;
+use serde::{Deserialize, Serialize};
+use crate::auth::AuthError;
+
+const XBOX_LIVE_AUTH: &str = "https://user.auth.xboxlive.com/user/authenticate";
+
+#[derive(Debug, Serialize)]
+#[serde(rename_all = "PascalCase")]
+struct XboxLiveAuthRequestProperties<'a> {
+ auth_method: &'a str,
+ site_name: &'a str,
+ rps_ticket: &'a str
+}
+
+#[derive(Debug, Serialize)]
+#[serde(rename_all = "PascalCase")]
+struct XboxLiveAuthRequest<'a> {
+ properties: XboxLiveAuthRequestProperties<'a>,
+ relying_party: &'a str,
+ token_type: &'a str
+}
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+struct XboxLiveAuthResponse {
+ token: String,
+ not_after: DateTime<Utc>
+}
+
+pub fn xbox_live_login(client: &reqwest::Client, access_token: &AccessToken) -> Result<(), AuthError> {
+
+} \ No newline at end of file
diff --git a/src/auth/types.rs b/src/auth/types.rs
index 79cf84f..f455657 100644
--- a/src/auth/types.rs
+++ b/src/auth/types.rs
@@ -31,7 +31,7 @@ pub(super) struct Token {
pub struct MsaUser {
#[serde(skip_serializing_if = "Option::is_none")]
pub profile: Option<UserProfile>,
- pub xuid: Uuid,
+ pub xuid: Option<Uuid>,
pub(super) client_id: oauth2::ClientId,