summaryrefslogtreecommitdiffstats
path: root/src/auth/msa.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/auth/msa.rs')
-rw-r--r--src/auth/msa.rs33
1 files changed, 33 insertions, 0 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